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, und zwar in 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
verwendet wird, wenncallbackFn
ausgeführt wird.
Rückgabewert
Keiner (undefined
).
Beschreibung
Die forEach
-Methode führt den bereitgestellten callback
einmal für jeden tatsächlich existierenden Schlüssel der Map aus. Sie wird nicht für gelöschte Schlüssel aufgerufen. Sie wird jedoch für Werte ausgeführt, die vorhanden sind, aber den Wert undefined
haben.
callback
wird mit drei Argumenten aufgerufen:
- dem Eintrags-
value
- dem Eintrags-
key
- dem durchlaufenden
Map
-Objekt
Wenn ein thisArg
-Parameter an forEach
übergeben wird, wird dieser an callback
übergeben, um als dessen this
-Wert verwendet zu werden. Andernfalls wird der Wert undefined
übergeben, um als dessen this
-Wert verwendet zu werden. Der schließlich von callback
beobachtbare this
-Wert wird gemäß den üblichen Regeln zur Bestimmung des von einer Funktion gesehenen this
bestimmt.
Jeder Wert wird einmal besucht, außer wenn er gelöscht und neu hinzugefügt wurde, bevor forEach
beendet ist. callback
wird nicht für Werte aufgerufen, die vor dem Besuch gelöscht wurden. Neue Werte, die hinzugefügt wurden, bevor forEach
beendet ist, werden besucht.
Beispiele
Den Inhalt 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 |