--- title: Map.prototype.forEach() slug: Web/JavaScript/Referencje/Obiekty/Map/forEach tags: - ECMAScript2015 - JavaScript - Mapa - Metodă - Prototyp translation_of: Web/JavaScript/Reference/Global_Objects/Map/forEach ---
Metoda forEach()
wykonuje dostarczoną funcję callback
raz dla każdej pary klucz-wartosć Mapy
w kolejności, w jakiej zostały zostały wstawione.
myMap.forEach(callback[, thisArg])
callback
thisArg
this
poczas wywołania zwrotnego (funkcja callback
).{{jsxref("undefined")}}.
Metoda forEach
wykonuje dostarczoną funkcję callback
raz dla każdego klucza mapy, który istnieje. Nie jest wywoływana dla usuniętych kluczy, ale dla istniejących z wartością undefined
już tak.
Funkcja callback
przyjmuje trzy argumenty:
Map
do przetworzeniaJeśli argument thisArg
jest dostarczony do forEach
, zostaje przekazany do fukncji callback
podczas jej wywołania, jako jej własna wartość this
. W przeciwnym wypadku, this
przyjmuje wartość undefined
.
Każda wartość jest odwiedzana raz, oprócz przypadku, gdzie została usunięta, a następnie dodana ponownie, nim metoda forEach
zakończyła swoje działanie. Funkcja callback
nie jest wywoływana dla wartości usuniętych przed ich odwiedzeniem. Nowe wartości dodane jeszcze przed zakończeniem forEach
zostaną odwiedzone.
Metoda forEach
nie zwraca żadnej wartości.
Mapy
Poniższy kod wyświetla jedną linię dla każdej pary klucz-wartość Mapy
:
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"
Specyfikacja | Status | Komentarz |
---|---|---|
{{SpecName('ES2015', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}} | {{Spec2('ES2015')}} | Definicja początkowa. |
{{SpecName('ESDraft', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Map.forEach")}}