DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js馃拪| #216: Explica este c贸digo JavaScript

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)) // 馃
Enter fullscreen mode Exit fullscreen mode
  • 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)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:

  • D. [ [0], [1], [2], [3], [4] ]

flatMap() es un m茅todo de los arreglos super interesante, fusiona 2 m茅todos: map() y flat(), 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 un map()) y posteriormente "aplana" dicho item (como si fuera un flat()).

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() como flatMap() regresa un nuevo arreglo, por ende cada item ser谩 regresado en un arreglo independiente que finalmente esta anidado en el nuevo arreglo que devuelve flatMap() y por ello el resultado es [ [0], [1], [2], [3], [4] ].