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 bereitgestellte Funktion einmal für jeden Wert in diesem Set in der Einfügereihenfolge aus.

Probieren Sie es aus

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

Wert jeder Iteration.

key

Schlüssel jeder Iteration. Dieser ist immer derselbe wie value.

set

Das Set, das 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 im Set-Objekt vorhandenen Wert aus. 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:

  • der Elementwert
  • der Elementschlüssel
  • das durchlaufene Set-Objekt

Es gibt keine Schlüssel in Set-Objekten, daher sind die ersten beiden Argumente beide Werte, die im Set enthalten sind. Dies soll es konsistent mit anderen forEach()-Methoden für Map und Array machen.

Wenn ein thisArg-Parameter an forEach() übergeben wird, wird er beim Aufruf an callback weitergegeben, um ihn als this-Wert zu verwenden. Andernfalls wird der Wert undefined für die Verwendung als this-Wert übergeben. 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, außer im Fall, dass er gelöscht und wieder hinzugefügt wurde, bevor forEach() abgeschlossen ist. callback wird nicht für Werte aufgerufen, die vor dem Besuch gelöscht wurden. Neue Werte, die hinzugefügt wurden, bevor forEach() abgeschlossen ist, werden besucht.

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

Beispiele

Protokollieren der Inhalte eines Set-Objekts

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 Language Specification
# sec-set.prototype.foreach

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch