Sobes.tech
Junior

¿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)