Il metodo forEach() è stato introdotto in ECMAScript 5 ed implementato nella versione 1.6 di JavaScript. Questo metodo associato agli array opera su di essi tramite un'iterazione differente dal tradizionale costrutto for.
Questo metodo accetta due argomenti:
- Una funzione da eseguire su ogni elemento.
- Un oggetto a cui far riferire
this
quando si esegue la funzione.
Un'altra importante differenza rispetto al costrutto for
è che il loop creato non può essere interrotto durante l'esecuzione come
invece accade per for
tramite l'istruzione break
.
A sua volta la funzione di callback accetta tre argomenti:
- Il valore dell'elemento corrente.
- L'indice dell'elemento corrente.
- L'array attraversato.
Un esempio:
'use strict';
const displayElements = (value, index, arr) => {
console.log(`a[${index}] = ${value}`);
}
[ 1, 3, 7 ].forEach(displayElements);
// a[0] = 1, a[1] = 3, a[2] = 7
In pratica con questo metodo possiamo separare la logica dell'iterazione dall'array utilizzando una routine definita separatamente. Si
tratta di un notevole avanzamento rispetto a for
.