¿Cuál es la diferencia entre los métodos foreach y map en JavaScript?
sobes.tech AI
Respuesta de la IA
forEach recorre los elementos del array y ejecuta una función de devolución de llamada para cada elemento, pero no crea un nuevo array. Se usa para efectos secundarios, como imprimir en la consola o modificar variables externas.
map también recorre los elementos del array y ejecuta una función de devolución de llamada para cada elemento. Sin embargo, devuelve un nuevo array que contiene los resultados de ejecutar esa función en cada elemento. Se usa para transformar un array en otro.
Ejemplo con forEach:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Salida:
// 2
// 4
// 6
// numbers permanece como [1, 2, 3]
Ejemplo con map:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Salida: [2, 4, 6]
// numbers permanece como [1, 2, 3]
La diferencia clave es que map es un método "funcional" que no modifica el array original y devuelve uno nuevo, mientras que forEach está destinado principalmente a realizar acciones en cada elemento sin devolver un nuevo array.
| Criterio | forEach |
map |
|---|---|---|
| Valor devuelto | undefined |
Nuevo array |
| Modificación del array | No crea un nuevo array | Crea un nuevo array |
| Propósito principal | Realizar acciones en cada elemento | Transformar un array en otro |
| Encadenamiento de métodos | No soportado de forma natural | Soportado (devuelve un array) |