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:
function 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
.