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 gefüllt ist.
Syntax
toArray()
Parameter
Keine.
Rückgabewert
Eine neue Array
-Instanz, die die Elemente aus dem Iterator in der Reihenfolge enthält, in der sie produziert wurden.
Beispiele
Verwendung von toArray()
iterator.toArray()
entspricht Array.from(iterator)
und [...iterator]
, außer dass es einfacher ist, zu verketteten Aufrufen zu verwenden, wenn mehrere Iterator-Hilfsmethoden involviert sind. Im folgenden Beispiel wird ein Iterator erstellt, der Terme der Fibonacci-Sequenz liefert, die ersten 10 Terme 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]
Es ist ratsam, toArray()
als letzten Schritt Ihrer Verarbeitung aufzurufen. Zum Beispiel ist fibonacci().take(10).toArray().filter(...)
weniger effizient, da Iterator-Helfer faul 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