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 dieser Menge in der 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
forEach(callbackFn)
forEach(callbackFn, thisArg)
Parameter
callback
-
Eine Funktion, die für jeden Eintrag in der Menge 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 Wert aus, der tatsächlich im Set
-Objekt vorhanden ist. Sie wird nicht für bereits gelöschte Werte aufgerufen. 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
In Set
-Objekten gibt es keine Schlüssel, daher sind die ersten beiden Argumente beide Werte, 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 an callback
übergeben, wenn diese aufgerufen wird, um als this
-Wert verwendet zu werden. Andernfalls wird der Wert undefined
zur Verwendung als this
-Wert übergeben. Der letztendlich durch callback
beobachtbare this
-Wert wird gemäß den üblichen Regeln zur Bestimmung des this
-Werts einer Funktion bestimmt.
Jeder Wert wird einmal besucht, außer wenn er gelöscht und vor dem Abschluss von forEach()
wieder hinzugefügt wurde. callback
wird nicht für vor dem Besuch gelöschte Werte aufgerufen. Neue Werte, die vor dem Abschluss von forEach()
hinzugefügt wurden, werden besucht.
forEach()
führt die callback
-Funktion einmal für jedes Element im Set
-Objekt aus; es gibt keinen Rückgabewert.
Beispiele
Inhalte eines Set-Objekts protokollieren
Der folgende Code protokolliert eine Zeile für jedes Element in einem Set
-Objekt:
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® 2026 Language Specification # sec-set.prototype.foreach |