Sobes.tech
Junior

Qual è la differenza tra i metodi foreach e map in JavaScript?

sobes.tech AI

Risposta dell'AI

forEach itera gli elementi di un array e esegue una funzione di callback per ogni elemento, ma non crea un nuovo array. Viene usato per effetti collaterali, come la stampa in console o la modifica di variabili esterne.

map itera anch'esso sugli elementi di un array e esegue una funzione di callback per ogni elemento. Tuttavia, restituisce un nuovo array contenente i risultati dell'esecuzione di questa funzione su ogni elemento. Viene usato per trasformare un array in un altro.

Esempio con forEach:

const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Output:
// 2
// 4
// 6
// numbers rimane [1, 2, 3]

Esempio con map:

const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Output: [2, 4, 6]
// numbers rimane [1, 2, 3]

La differenza principale è che map è un metodo "funzionale" che non modifica l'array originale e ne restituisce uno nuovo, mentre forEach è principalmente destinato a eseguire azioni su ogni elemento senza restituire un nuovo array.

Criterio forEach map
Valore restituito undefined Nuovo array
Modifica dell'array Non crea un nuovo array Crea un nuovo array
Scopo principale Eseguire azioni su ogni elemento Trasformare un array in un altro
Chaining di metodi Non supportato nativamente Supportato (restituisce un array)