Iterator.prototype.toArray()
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The toArray()
method of Iterator
instances creates a new Array
instance populated with the elements yielded from the iterator.
Syntax
toArray()
Parameters
None.
Return value
A new Array
instance containing the elements from the iterator in the order they were produced.
Examples
Using toArray()
iterator.toArray()
is equivalent to Array.from(iterator)
and [...iterator]
, except that it's easier to chain when multiple iterator helper methods are involved. The following example creates an iterator that yields terms in the Fibonacci sequence, takes the first 10 terms, filters out the odd numbers, and converts the result to an array:
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]
Note that it's a good idea to call toArray()
as a last step of your processing. For example, fibonacci().take(10).toArray().filter(...)
is less efficient, because iterator helpers are lazy and avoids creating a temporary array.
Specifications
Specification |
---|
Iterator Helpers # sec-iteratorprototype.toarray |
Browser compatibility
BCD tables only load in the browser