4.5 KiB
4.5 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d7b7b367417b2b2512b15 | Iterate Through All an Array's Items Using For Loops | 1 | Iterar a través de todos los elementos de una matriz utilizando bucles for |
Description
every()
, para forEach()
, map()
, etc.), sin embargo, la técnica es más flexible y nos ofrece la mejor cantidad de control es un simple for
bucle. Considera lo siguiente: función mayorThanTen (arr) {Usando un bucle
deja newArr = [];
para (sea i = 0; i <arr.length; i ++) {
si (arr [i]> 10) {
newArr.push (arr [i]);
}
}
devuelve newArr;
}
mayorThanTen ([2, 12, 8, 14, 80, 0, 1]);
// devoluciones [12, 14, 80]
for
, esta función recorre y accede a cada elemento de la matriz y lo somete a una prueba simple que hemos creado. De esta manera, hemos determinado fácil y programáticamente qué elementos de datos son más grandes que 10
, y hemos devuelto una nueva matriz que contiene esos elementos. Instructions
filteredArray
, que toma arr
, una matriz anidada, y elem
como argumentos, y devuelve una nueva matriz. elem
representa un elemento que puede o no estar presente en una o más de las matrices anidadas dentro de arr
. Modifique la función, utilizando un bucle for
, para devolver una versión filtrada de la matriz pasada de manera que se haya eliminado cualquier matriz anidada dentro de arr
contenga elem
. Tests
tests:
- text: '<code>filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18)</code> debe devolver <code>[ [10, 8, 3], [14, 6, 23] ]</code>'
testString: 'assert.deepEqual(filteredArray([ [10, 8, 3], [14, 6, 23], [3, 18, 6] ], 18), [[10, 8, 3], [14, 6, 23]], "<code>filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18)</code> should return <code>[ [10, 8, 3], [14, 6, 23] ]</code>");'
- text: '<code>filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2)</code> debe devolver <code>[ ["flutes", 4] ]</code>'
testString: 'assert.deepEqual(filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2), [["flutes", 4]], "<code>filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2)</code> should return <code>[ ["flutes", 4] ]</code>");'
- text: '<code>filteredArray([ ["amy", "beth", "sam"], ["dave", "sean", "peter"] ], "peter")</code> debe devolver <code>[ ["amy", "beth", "sam"] ]</code>'
testString: 'assert.deepEqual(filteredArray([["amy", "beth", "sam"], ["dave", "sean", "peter"]], "peter"), [["amy", "beth", "sam"]], "<code>filteredArray([ ["amy", "beth", "sam"], ["dave", "sean", "peter"] ], "peter")</code> should return <code>[ ["amy", "beth", "sam"] ]</code>");'
- text: '<code>filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)</code> debe devolver <code>[ ]</code>'
testString: 'assert.deepEqual(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3), [], "<code>filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)</code> should return <code>[ ]</code>");'
- text: El <code>filteredArray</code> función debe utilizar un <code>for</code> bucle
testString: 'assert.notStrictEqual(filteredArray.toString().search(/for/), -1, "The <code>filteredArray</code> function should utilize a <code>for</code> loop");'
Challenge Seed
function filteredArray(arr, elem) {
let newArr = [];
// change code below this line
// change code above this line
return newArr;
}
// change code here to test different cases:
console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3));
Solution
// solution required