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 julio de 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
function logMapElements(value, key, map) {
console.log(`m[${key}] = ${value}`);
}
new Map([
["foo", 3],
["bar", {}],
["baz", undefined],
]).forEach(logMapElements);
// Expected output: "m[foo] = 3"
// Expected output: "m[bar] = [object Object]"
// Expected output: "m[baz] = undefined"
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:
thisArgOpcional-
Un valor que se usa como
thiscuando 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
valuedel elemento - el
keydel elemento - el objeto
Mapque 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® 2026 Language Specification> # sec-map.prototype.foreach> |
Compatibilidad con navegadores
Loading…