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 in Einfügereihenfolge aus.
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 vorhandenen 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:
- dem
value
des Eintrags - dem
key
des Eintrags - dem
Map
-Objekt, das durchlaufen wird
Wenn ein thisArg
-Parameter an forEach
übergeben wird, wird er an callback
übergeben, wenn es aufgerufen wird, um als dessen this
-Wert zu dienen. Andernfalls wird der Wert undefined
übergeben, um als this
-Wert zu dienen. Der schließlich von callback
sichtbare this
-Wert wird gemäß den üblichen Regeln zur Bestimmung des this
, das durch eine Funktion sichtbar ist ermittelt.
Jeder Wert wird einmal besucht, außer in dem Fall, dass er vor dem Abschluss von forEach
gelöscht und erneut hinzugefügt wurde. callback
wird nicht für Werte aufgerufen, die vor dem Besuch gelöscht wurden. Neue Werte, die vor dem 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® 2025 Language Specification # sec-map.prototype.foreach |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
forEach |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support