Explicador de Cesta de frutas
Objetivo de este acertijo: Usar el operador de propagación (...
) para combinar nuevos elementos de diferentes arreglos en un nuevo arreglo.
Tutorial de la solución: La primera línea de código importa 2 arreglos de código adicional, appleVarieties
y pearVarieties
, de modo que se pueden usar en este acertijo.
Luego, se declara la variable fruitBasket
. En el código de inicio, fruitBasket
es un arreglo que contiene dos subarreglos: appleVarieties
y pearVarieties
. Cuando se imprime, se ve así:
[
[Fuji, Pink Lady, Granny Smith],
[Bosc, Red Anjou]
]
Cuando hay un arreglo dentro de otro arreglo, se llama arreglo anidado. En este acertijo, usarás el operador de propagación (...
) para cambiar fruitBasket
a un arreglo que contiene los elementos de appleVarieties
y pearVarieties
, pero que no esté anidado.
Para completar el acertijo, agrega el operador de propagación (...
) antes de appleVarieties
y pearVarieties
. Ahora, cuando cuando se imprime, fruitBasket
se verá así: [Fuji, Pink Lady, Granny Smith, Bosc, Red Anjou]
. Ya no es un arreglo anidado.
Después de la declaración de la variable fruitBasket
, el ciclo for...of
registra cada elemento en el arreglo fruitBasket
en la consola. Sin este código, no podríamos ver el cambio de un arreglo anidado a uno que ya no está anidado cuando se usa el operador de propagación (...
).
Solución del código de ejemplo:
(Pulsa a continuación para revelar)
import { appleVarieties, pearVarieties } from 'grasshopper.orchard';
let fruitBasket = [
...appleVarieties,
...pearVarieties
];
for (var fruit of fruitBasket) {
console.log(fruit);
}
Conceptos de JavaScript: arreglos, operador de propagación, for…of loops, console.log(), importaciones, declaraciones de la variable (let
)
Código adicional (código oculto que se ejecuta antes del código del acertijo):
const appleVarieties = ['Fuji', 'Pink Lady', 'Granny Smith'];
const pearVarieties = ['Bosc', 'Red Anjou'];