--- 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 ---
{{JSRef}}

Metoda forEach() wykonuje dostarczoną funcję callback raz dla każdej pary klucz-wartosć Mapy w kolejności, w jakiej zostały zostały wstawione.

{{EmbedInteractiveExample("pages/js/map-prototype-foreach.html")}}

Składnia

myMap.forEach(callback[, thisArg])

Parametry

callback
Funkcja wykonywana dla każdego elementu.
thisArg
Wartość przypisywana do this poczas wywołania zwrotnego (funkcja callback).

Zwracana wartosć

{{jsxref("undefined")}}.

Opis

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:

Jeś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.

Przykłady

Wyświetlanie zawartoś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

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')}}  

Kompatybilność z przeglądarkami

{{Compat("javascript.builtins.Map.forEach")}}

See also