Iterator.prototype.toArray()
Baseline 2025>
Neu verfügbar
Seit März 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die Methode toArray() von Iterator-Instanzen erstellt eine neue Array-Instanz mit den vom Iterator gelieferten Elementen.
Syntax
toArray()
Parameter
Keine.
Rückgabewert
Eine neue Array-Instanz, die die Elemente des Iterators in der Reihenfolge enthält, in der sie geliefert wurden.
Beispiele
>Verwendung von toArray()
iterator.toArray() entspricht Array.from(iterator) und [...iterator], lässt sich aber einfacher mit mehreren Iterator-Hilfsmethoden verketten. Das folgende Beispiel erstellt einen Iterator, der Glieder der Fibonacci-Folge liefert, nimmt die ersten 10 Glieder, filtert die ungeraden Zahlen heraus und wandelt das Ergebnis in ein Array um:
function* fibonacci() {
let current = 1;
let next = 1;
while (true) {
yield current;
[current, next] = [next, current + next];
}
}
const array = fibonacci()
.take(10)
.filter((x) => x % 2 === 0)
.toArray();
console.log(array); // [2, 8, 34]
Es empfiehlt sich, toArray() erst als letzten Verarbeitungsschritt aufzurufen. Beispielsweise ist fibonacci().take(10).toArray().filter(...) weniger effizient, weil Iterator-Hilfsmethoden verzögert ausgewertet werden und so die Erstellung eines temporären Arrays vermieden werden kann.
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-iterator.prototype.toarray> |