Array.prototype.forEach ( callbackfn [ , thisArg ] )
var arr = ["uno", "dos", "tres"];
arr.forEach(function(elemento) {
console.log(elemento);
});
forEach
acepta una función como callback. Al pasar esta función, que actúa como un iterador, la misma es llamada para cada elemento del Array
.
*Nota: Funciona a partir de ECMAScript 5.
Callback
La función que es pasada como callback acepta 3 parámetros: el valor del elemento, el índice y una referencia al array que se está iterando. Los últimos 2 son opcionales (el primer ejemplo sólo pasaba el elemento). Si también quisieramos usar el índice:
var arr = [];
arr[0] = "cero";
arr[10] = "diez";
arr[20] = "veinte";
arr.forEach(function(elemento, indice) {
console.log("pos=", indice, "valor=", elemento);
});
Además, cabe aclarar que .forEach
no muta en absoluto al array
. Si se cambia el valor de elemento
, el array
no se verá modificado (aunque sí podría llegar referenciarse para cambiar el valor).
Otras funciones similares
.every()
Sale del bucle en cuanto la función devuelve false
.
.some()
Sale del bucle en cuanto la función devuelve true
.