Start · Sprachen · JavaScript · Referenz · Set.prototype.forEach()

Set.prototype.forEach()

Methode

Die Methode <code>forEach()</code> von <code>Set</code>-Instanzen führt eine bereitgestellte Funktion einmal für jeden Wert in diesem Set aus, in Einfügereihenfolge.

Kategorie: method-property

Signatur

forEach(callbackFn) / forEach(callbackFn, thisArg)

Beschreibung

Die Methode forEach() führt den bereitgestellten callback einmal für jeden Wert aus, der tatsächlich im Set-Objekt vorhanden ist. 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 Element-Wert
  • dem Element-Schlüssel
  • dem durchlaufenen Set-Objekt

In Set-Objekten gibt es jedoch keine Schlüssel, sodass die ersten beiden Argumente beide Werte sind, die im Set enthalten sind. Dies dient der Konsistenz mit anderen forEach()-Methoden für Map und Array.

Wenn ein thisArg-Parameter an forEach() übergeben wird, wird er beim Aufruf an callback weitergegeben und dort als this-Wert verwendet. Andernfalls wird der Wert undefined als this-Wert übergeben. Der letztlich vom callback beobachtbare this-Wert wird gemäß den üblichen Regeln zur Bestimmung des von einer Funktion gesehenen this ermittelt.

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 vor Beendigung von forEach() hinzugefügt werden, werden besucht.

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

Parameter

Name Typ Default Beschreibung
$callbackFn Pflicht Function 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; immer identisch mit value) und set (das durchlaufene Set).
$thisArg any Ein Wert, der beim Ausführen von callbackFn als this verwendet wird.

Rückgabewert

Typ
undefined
Beschreibung
Keiner (undefined).

Beispiele

Inhalt eines Set-Objekts protokollieren

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"
s[foo] = foo s[bar] = bar s[undefined] = undefined