Nut Free es-419 Explainer

Explicador de Sin nueces

Objetivo de este acertijo:

Usar el método de arreglo .filter() para crear un nuevo arreglo que sólo contiene elementos específicos de otro arreglo.

Tutorial de la solución:

El método de arreglo .filter() toma una función como un argumento (también conocido como función de devolución de llamada), e itera por un arreglo usando cada elemento como el argumento para la devolución de llamada (o prueba). Si la devolución de llamada devuelve verdadero por un elemento, entonces ese elemento ha pasado la prueba y se copia en un nuevo arreglo. El arreglo original no se modifica.

La primera línea de código importa un arreglo del código adicional, iceCreams, para que se pueda usar en este acertijo.

A continuación, se declara la función nutAllergy. Toma un argumento, flavor, y devuelve ese sabor si no es 'pistachio'. Esta función es la devolución de llamada/prueba que usaremos en el método .filter() más adelante en nuestro código.

Debajo de la función nutAllergy, está declarada la función nutFree. En el código con el que comienzas, nutFree es lo mismo que el arreglo iceCreams. En este acertijo, usarás el método .filter() para cambiar nutFree en un arreglo de sabores iceCreams que pasen la prueba nutFree.

Para completar el acertijo, agrega el método .filter(nutAllergy) después de iceCreams. Ahora, el arreglo nutFree solo contendrá elementos del arreglo iceCreams que pasan la prueba nutFree.

Después de la declaración de la variable nutFree, el ciclo for...of registrará cada elemento en el arreglo nutFree en la consola. Sin este código, no podríamos ver el cambio de un arreglo iceCreams sin filtro a un arreglo que se ha filtrado para excluir 'pistachio'.

Solución del código de ejemplo:

(Pulsa a continuación para revelar)


import { iceCreams } from 'grasshopper.treats';

function nutAllergy(flavor) {

return flavor !== 'pistachio';

}

let nutFree = iceCreams.filter(nutAllergy);

for (let flavors of nutFree) {

console.log(flavors);

}

Conceptos de JavaScript: métodos de arreglo, .filter(), declaraciones de la variable con let, for…of loops, declaraciones de funciones, importaciones, console.log()

Código adicional (código oculto que se ejecuta antes del código del acertijo):


let iceCreams = ['vanilla', 'chocolate', 'cookies and cream', 'cookie dough', 'mint chocolate chip', 'pistachio', 'coffee']