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.
Die forEach()
-Methode von Map
-Instanzen führt eine bereitgestellte Funktion einmal pro Schlüssel/Wert-Paar in dieser Map aus, in der Einfügereihenfolge.
Probieren Sie es aus
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"
Syntax
forEach(callbackFn)
forEach(callbackFn, thisArg)
Parameter
callbackFn
-
Eine Funktion, die für jeden Eintrag in der Map ausgeführt wird. Die Funktion wird mit den folgenden Argumenten aufgerufen:
thisArg
Optional-
Ein Wert, der als
this
beim Ausführen voncallbackFn
verwendet wird.
Rückgabewert
Keiner (undefined
).
Beschreibung
Die forEach
-Methode führt die bereitgestellte callback
-Funktion einmal für jeden tatsächlich existierenden Schlüssel der Map aus. Sie wird nicht für Schlüssel aufgerufen, die gelöscht wurden. Sie wird jedoch für Werte ausgeführt, die vorhanden sind, aber den Wert undefined
haben.
callback
wird mit drei Argumenten aufgerufen:
- der
value
des Eintrags - der
key
des Eintrags - das durchlaufene
Map
-Objekt
Wenn ein thisArg
-Parameter an forEach
übergeben wird, wird er an callback
übergeben, wenn es aufgerufen wird, zur Verwendung als dessen this
-Wert. Andernfalls wird der Wert undefined
zur Verwendung als dessen this
-Wert übergeben. Der letztendlich von callback
beobachtbare this
-Wert wird gemäß den üblichen Regeln zur Bestimmung des this
, das von einer Funktion gesehen wird bestimmt.
Jeder Wert wird einmal besucht, außer im Fall, wenn er gelöscht und vor Abschluss von forEach
wieder hinzugefügt wurde. callback
wird nicht für zuvor besuchte und gelöschte Werte aufgerufen. Neue Werte, die vor Abschluss von forEach
hinzugefügt werden, werden besucht.
Beispiele
Inhalte eines Map-Objekts ausgeben
Der folgende Code protokolliert eine Zeile für jedes Element in einem Map
-Objekt:
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"
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-map.prototype.foreach |