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:
function greaterThanTen(arr) {Usando un bucle
let newArr = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] > 10) {
newArr.push(arr[i]);
}
}
return newArr;
}
greaterThanTen([2, 12, 8, 14, 80, 0, 1]);
// returns [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.
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
.
filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18)
debe devolver [ [10, 8, 3], [14, 6, 23] ]
'
testString: 'assert.deepEqual(filteredArray([ [10, 8, 3], [14, 6, 23], [3, 18, 6] ], 18), [[10, 8, 3], [14, 6, 23]], "filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18)
should return [ [10, 8, 3], [14, 6, 23] ]
");'
- text: ' filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2)
debe devolver [ ["flutes", 4] ]
'
testString: 'assert.deepEqual(filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2), [["flutes", 4]], "filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2)
should return [ ["flutes", 4] ]
");'
- text: ' filteredArray([ ["amy", "beth", "sam"], ["dave", "sean", "peter"] ], "peter")
debe devolver [ ["amy", "beth", "sam"] ]
'
testString: 'assert.deepEqual(filteredArray([["amy", "beth", "sam"], ["dave", "sean", "peter"]], "peter"), [["amy", "beth", "sam"]], "filteredArray([ ["amy", "beth", "sam"], ["dave", "sean", "peter"] ], "peter")
should return [ ["amy", "beth", "sam"] ]
");'
- text: ' filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)
debe devolver [ ]
'
testString: 'assert.deepEqual(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3), [], "filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)
should return [ ]
");'
- text: El filteredArray
función debe utilizar un for
bucle
testString: 'assert.notStrictEqual(filteredArray.toString().search(/for/), -1, "The filteredArray
function should utilize a for
loop");'
```