Set.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 Set-Instanzen führt eine angegebene Funktion einmal für jeden Wert in diesem Set in Einfügereihenfolge aus.

Probieren Sie es aus

function logSetElements(value1, value2, set) {
  console.log(`s[${value1}] = ${value2}`);
}

new Set(["foo", "bar", undefined]).forEach(logSetElements);

// Expected output: "s[foo] = foo"
// Expected output: "s[bar] = bar"
// Expected output: "s[undefined] = undefined"

Syntax

js
forEach(callbackFn)
forEach(callbackFn, thisArg)

Parameter

callback

Eine Funktion, die für jeden Eintrag im Set ausgeführt wird. Die Funktion wird mit den folgenden Argumenten aufgerufen:

value

Der Wert jeder Iteration.

key

Der Schlüssel jeder Iteration. Dies ist immer derselbe wie value.

set

Das Set, das durchlaufen wird.

thisArg Optional

Ein Wert, der als this verwendet wird, wenn callbackFn ausgeführt wird.

Rückgabewert

Keiner (undefined).

Beschreibung

Die Methode forEach() führt die angegebene callback-Funktion einmal für jeden Wert aus, der tatsächlich im Set-Objekt existiert. Sie wird nicht für Werte 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 Elementwert
  • dem Elementschlüssel
  • dem Set-Objekt, das durchlaufen wird

In Set-Objekten gibt es keine Schlüssel, daher sind die ersten beiden Argumente beide Werte, die im Set enthalten sind. Dies dient dazu, die Konsistenz mit anderen forEach()-Methoden, wie etwa Map und Array zu gewährleisten.

Wenn ein thisArg-Parameter an forEach() übergeben wird, wird er bei der Ausführung an callback übergeben, um als this-Wert verwendet zu werden. Andernfalls wird der Wert undefined übergeben, um als this-Wert verwendet zu werden. Der letztlich von callback wahrgenommene this-Wert wird gemäß den üblichen Regeln zur Ermittlung des von einer Funktion wahrgenommenen this bestimmt.

Jeder Wert wird einmal besucht, außer in dem Fall, dass er gelöscht und erneut hinzugefügt wurde, bevor forEach() abgeschlossen ist. callback wird nicht für Werte aufgerufen, die vor deren Besuch gelöscht wurden. Neue Werte, die hinzugefügt werden, bevor forEach() abgeschlossen ist, werden besucht.

forEach() führt die callback-Funktion einmal für jedes Element im Set-Objekt aus; sie gibt keinen Wert zurück.

Beispiele

Inhalte eines Set-Objekts protokollieren

Der folgende Code protokolliert eine Zeile für jedes Element in einem Set-Objekt:

js
function logSetElements(value1, value2, set) {
  console.log(`s[${value1}] = ${value2}`);
}

new Set(["foo", "bar", undefined]).forEach(logSetElements);

// Logs:
// "s[foo] = foo"
// "s[bar] = bar"
// "s[undefined] = undefined"

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-set.prototype.foreach

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
forEach

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch