Iterator.prototype.toArray()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die toArray()
Methode von Iterator
Instanzen erstellt eine neue Array
Instanz, die mit den vom Iterator gelieferten Elementen befüllt ist.
Syntax
toArray()
Parameter
Keine.
Rückgabewert
Eine neue Array
Instanz, die die Elemente vom Iterator in der Reihenfolge enthält, in der sie erzeugt wurden.
Beispiele
Verwendung von toArray()
iterator.toArray()
entspricht Array.from(iterator)
und [...iterator]
, außer dass es einfacher zu verketten ist, wenn mehrere Iterator-Hilfsmethoden beteiligt sind. Im folgenden Beispiel wird ein Iterator erstellt, der Begriffe der Fibonacci-Sequenz liefert, die ersten 10 Begriffe nimmt, die ungeraden Zahlen herausfiltert und das Ergebnis in ein Array umwandelt:
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]
Beachten Sie, dass es eine gute Idee ist, toArray()
als letzten Schritt Ihrer Verarbeitung aufzurufen. Zum Beispiel ist fibonacci().take(10).toArray().filter(...)
weniger effizient, weil Iterator-Helfer lazy sind und die Erstellung eines temporären Arrays vermeiden.
Spezifikationen
Specification |
---|
Iterator Helpers # sec-iteratorprototype.toarray |
Browser-Kompatibilität
BCD tables only load in the browser