Set.prototype[Symbol.iterator]()
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 [Symbol.iterator]()
Methode von Set
Instanzen implementiert das iterable Protokoll und ermöglicht es Set
Objekten, von den meisten Syntaxen, die Iterables erwarten, konsumiert zu werden, wie zum Beispiel dem Spread-Syntax und for...of
Schleifen. Sie gibt ein Set-Iterator-Objekt zurück, das die Werte des Sets in Einfügereihenfolge liefert.
Der Anfangswert dieser Eigenschaft ist das gleiche Funktionsobjekt wie der Anfangswert der Set.prototype.values
Eigenschaft.
Probieren Sie es aus
Syntax
set[Symbol.iterator]()
Parameter
Keine.
Rückgabewert
Der gleiche Rückgabewert wie Set.prototype.values()
: ein neues iterierbares Iterator-Objekt, das die Werte des Sets liefert.
Beispiele
Iteration mit for...of Schleife
Beachten Sie, dass Sie diese Methode selten direkt aufrufen müssen. Die Existenz der [Symbol.iterator]()
Methode macht Set
Objekte iterierbar, und iterierende Syntaxen wie die for...of
Schleife rufen diese Methode automatisch auf, um den Iterator zu erhalten, über den iteriert werden soll.
const mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});
for (const v of mySet) {
console.log(v);
}
Manuelles Erstellen des Iterators
Sie können dennoch manuell die next()
Methode des zurückgegebenen Iterator-Objekts aufrufen, um maximale Kontrolle über den Iterationsprozess zu erreichen.
const mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});
const setIter = mySet[Symbol.iterator]();
console.log(setIter.next().value); // "0"
console.log(setIter.next().value); // 1
console.log(setIter.next().value); // {}
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-set.prototype-%symbol.iterator% |
Browser-Kompatibilität
BCD tables only load in the browser