Map.prototype.forEach()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
El método forEach()
de las instancias de Map
ejecuta la función provista, una vez por cada tupla llave/valor en este map, en orden de inserción.
Pruébalo
Sintaxis
forEach(callbackFn)
forEach(callbackFn, thisArg)
Parámetro
callbackFn
-
Una función que se ejecuta por cada entrada en el map. La función es llamada con los siguientes argumentos:
thisArg
Opcional-
Un valor que se usa como
this
cuando se ejecuta la funcióncallbackFn
.
Valor devuelto
Ningúno (undefined
).
Descripción
El método forEach
ejecuta la función callback
provista, una vez por cada llave que actualmente existe en el map. No se invoca para llaves que fueron borradas. Sin embargo, la función es ejecutada para valores que se encuentran en el objeto, pero que su valor es undefined
.
La función callback
es invocada con tres argumentos:
- el
value
del elemento - el
key
del elemento - el objeto
Map
que se esta iterando
Si el parámetro thisArg
se provee a la función forEach
, este se pasará a la función callback
cuando sea invocada, para usarse como el valor this
. De lo contrario, el valor undefined
será pasado para usarse como el valor this
. El valor this
que finalmente es visible para la función callback
, es determinado de acuerdo a las reglas para determinar el valor this
visible para una función.
Cada valor es visitado una vez, excepto en el caso en que el valor es borrado y agregado antes de que forEach
haya terminado. La función callback
no es invocada para valores que se borraron antes de ser visitados. Los valores agregados antes de que forEach
termine, serán visitados.
Ejemplos
Imprimiendo el contenido de un objeto Map
El siguiente código, registra en la consola un mensaje por cada elemento en un objeto Map
:
function logMapElements(value, key, map) {
console.log(`map.get('${key}') = ${value}`);
}
new Map([
["foo", 3],
["bar", {}],
["baz", undefined],
]).forEach(logMapElements);
// Logs:
// "map.get('foo') = 3"
// "map.get('bar') = [object Object]"
// "map.get('baz') = undefined"
Especificaciones
Specification |
---|
ECMAScript Language Specification # sec-map.prototype.foreach |
Compatibilidad con navegadores
BCD tables only load in the browser