freeCodeCamp/curriculum/challenges/spanish/02-javascript-algorithms-an.../basic-data-structures/iterate-through-all-an-arra...

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

A veces, cuando se trabaja con matrices, es muy útil poder recorrer en iteración cada elemento para encontrar uno o más elementos que podríamos necesitar, o manipular una matriz en función de qué elementos de datos cumplen un determinado conjunto de criterios. JavaScript ofrece varios métodos integrados que se repiten en matrices de maneras ligeramente diferentes para lograr resultados diferentes (como 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) {
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]
Usando un bucle 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

Hemos definido una función, 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([ [&quot;trumpets&quot;, 2], [&quot;flutes&quot;, 4], [&quot;saxophones&quot;, 2] ], 2)</code> debe devolver <code>[ [&quot;flutes&quot;, 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([ [&quot;amy&quot;, &quot;beth&quot;, &quot;sam&quot;], [&quot;dave&quot;, &quot;sean&quot;, &quot;peter&quot;] ], &quot;peter&quot;)</code> debe devolver <code>[ [&quot;amy&quot;, &quot;beth&quot;, &quot;sam&quot;] ]</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