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 der Einfügereihenfolge aus.
Probieren Sie es aus
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 Schlüssel der Map aus, der tatsächlich existiert. 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 dieser an callback
weitergegeben, um als dessen this
-Wert verwendet zu werden. Andernfalls wird der Wert undefined
übergeben, der als dessen this
-Wert verwendet wird. Der letztendlich von callback
beobachtbare this
-Wert wird gemäß den üblichen Regeln zur Bestimmung des von einer Funktion gesehenen this
bestimmt.
Jeder Wert wird einmal besucht, es sei denn, er wurde gelöscht und vor dem Abschluss von forEach
erneut hinzugefügt. callback
wird nicht für Werte aufgerufen, die gelöscht wurden, bevor sie besucht wurden. Neue Werte, die hinzugefügt werden, bevor forEach
abgeschlossen ist, werden besucht.
Beispiele
Die Inhalte eines Map-Objekts ausgeben
Der folgende Code gibt eine Zeile für jedes Element in einem Map
-Objekt aus:
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 Language Specification # sec-map.prototype.foreach |
Browser-Kompatibilität
BCD tables only load in the browser