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

js
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:

value

Wert jeder Iteration.

key

Schlüssel jeder Iteration.

map

Die Map, die durchlaufen wird.

thisArg Optional

Ein Wert, der als this beim Ausführen von callbackFn 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:

js
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

Browser-Kompatibilität

Siehe auch