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

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

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]

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

Siehe auch