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 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
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:
thisArg
Optional-
Ein Wert, der als
this
verwendet wird, wenncallbackFn
ausgeführt wird.
Rückgabewert
Keiner (undefined
).
Beschreibung
Die forEach()
-Methode führt die bereitgestellte
callback
einmal für jeden Wert aus, der tatsächlich im
Set
-Objekt existiert. Sie wird nicht für Werte aufgerufen, die gelöscht wurden. Allerdings
wird sie für Werte ausgeführt, die vorhanden sind, aber den Wert undefined
haben.
callback
wird mit drei Argumenten aufgerufen:
- der Elementwert
- der Elemtschlüssel
- das
Set
-Objekt, das durchlaufen wird
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 und als
dessen this
-Wert verwendet. Andernfalls wird der Wert undefined
für
dessen this
-Wert verwendet. Der letztendlich durch
callback
beobachtbare this
-Wert wird gemäß
den üblichen Regeln zur Bestimmung des durch eine Funktion sichtbaren this
bestimmt.
Jeder Wert wird einmal besucht, außer wenn er gelöscht und erneut hinzugefügt wurde, bevor
forEach()
beendet ist. callback
wird nicht für
Werte aufgerufen, die gelöscht wurden, bevor sie besucht wurden. Neue Werte, die hinzugefügt wurden, bevor forEach()
beendet 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
Protokollieren des Inhalts eines Set-Objekts
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 |