El método forEach()
ejecuta una función por cada par clave / valor en el objeto Map, en orden de inserción.
Sintaxis
myMap.forEach(callback[, thisArg])
Parámetros
callback
- Función ejecutada en cada elemento.
thisArg
- Valor a usar por la funcion
callback
.
Valor de Retorno
Descripción
El método forEach
ejecuta la devolución de llamada (callback
) proporcionada una vez para cada clave del mapa que realmente exista. No se invoca para las claves que se han eliminado. Sin embargo, se ejecuta para los valores que están presentes pero tienen el valor indefinido (undefined
).
La función (callback
) es invocada con 3 argumentos:
- valor del elemento
- clave del elemento
- El objeto utilizado
Si se provee un parámetro thisArg
al método forEach
, pasará al callback
cuando sea invocado, para ser utilizado como su valor this
. De otra manera, el valor undefined
pasará para ser usado como su valor this
. El valor this
finalmente observable por el callback
se determina de acuerdo a las reglas usuales para determinar la visibilidad de this
por una función.
Cada valor es usado una vez, excepto en este caso cuando es eliminado y agregado de nuevo antes de que el forEach
haya terminado. callback
no es invocado para valores eliminados antes de que sean usados.
El método forEach
ejecuta la función callback
una vez para cada elemento en el objeto Map
; No se retornan valores.
Ejemplos
Imprimiendo el contenido de un objeto Map
El siguiente código imprime una línea por cada elemento en el objeto Map
:
function logMapElements(value, key, map) {
console.log(`m[${key}] = ${value}`);
}
new Map([['foo', 3], ['bar', {}], ['baz', undefined]]).forEach(logMapElements);
// logs:
// "m[foo] = 3"
// "m[bar] = [object Object]"
// "m[baz] = undefined"
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La definición de 'Map.prototype.forEach' en esta especificación. |
Standard | Definición Inicial. |
ECMAScript (ECMA-262) La definición de 'Map.prototype.forEach' en esta especificación. |
Living Standard |
Compatibilidad con navegadores
BCD tables only load in the browser