Explica este código JavaScript
Dificultad: Intermedio
const numbers = [1, 2 ,3, 4, 5];
const fn = (arr) => {
return arr.flatMap((number) =>[ [number - 1] ])
}
console.log(fn(numbers)) // 🤔
- A.
[ [ [0], [1], [2], [3], [4] ] ]
- B.
[1, 2, 3, 4, 5]
- C.
[0, 1, 2, 3, 4]
- D.
[ [0], [1], [2], [3], [4] ]
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
[ [0], [1], [2], [3], [4] ]
flatMap()
es un método de los arreglos super interesante, fusiona 2 métodos:map()
yflat()
, y los implementa como si fuera solo 1.En palabras sencillas lo que hace
flatMap()
es iterar item por item sobre el arreglo en el cual se implementa (como si fuera unmap()
) y posteriormente "aplana" dicho item (como si fuera unflat()
).En el ejemplo, cada a cada iteración del item le restamos 1 y luego aplanamos en un nivel el resultado de dicha iteración, no olvidemos que tanto
map()
comoflatMap()
regresa un nuevo arreglo, por ende cada item será regresado en un arreglo independiente que finalmente esta anidado en el nuevo arreglo que devuelveflatMap()
y por ello el resultado es[ [0], [1], [2], [3], [4] ]
.