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

js
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:

js
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

Siehe auch