Metoda forEach()
wykonuje dostarczoną funcję callback
raz dla każdej pary klucz-wartosć Mapy
w kolejności, w jakiej zostały zostały wstawione.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Składnia
myMap.forEach(callback[, thisArg])
Parametry
callback
- Funkcja wykonywana dla każdego elementu.
thisArg
- Wartość przypisywana do
this
poczas wywołania zwrotnego (funkcjacallback
).
Zwracana wartosć
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:
- wartość elementu
- klucz elementu
- obiekt typu
Map
do przetworzenia
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 |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Map.prototype.forEach' in that specification. |
Standard | Definicja początkowa. |
ECMAScript (ECMA-262) The definition of 'Map.prototype.forEach' in that specification. |
Living Standard |
Kompatybilność z przeglądarkami
BCD tables only load in the browser