Iterator.prototype.toArray()
Базовый уровень Недавно доступно
Эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или версиях браузеров. Она доступна во всех браузерах с марта 2025 года.
Метод toArray() экземпляров Iterator создает новый экземпляр Array, заполненный элементами, выдаваемыми итератором.
Синтаксис
toArray()
Параметры
Нет.
Возвращаемое значение
Новый экземпляр Array, содержащий элементы из итератора в том порядке, в котором они были сгенерированы.
Примеры
Использование toArray()
iterator.toArray() эквивалентно Array.from(iterator) и [...iterator], за исключением того, что его легче использовать в цепочке при наличии нескольких вспомогательных методов итератора. Следующий пример создает итератор, который выдает члены последовательности Фибоначчи, берет первые 10 членов, отфильтровывает нечетные числа и преобразует результат в массив:
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]
Обратите внимание, что toArray() рекомендуется вызывать как последний шаг обработки. Например, fibonacci().take(10).toArray().filter(...) менее эффективен, поскольку вспомогательные итераторы являются ленивыми и позволяют избежать создания временного массива.
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | Bun | Deno | Node.js | |
toArray |
122
117–119
|
122
117–119
|
131 |
108
103–105
|
18.4 |
122
117–119
|
131 |
81
78–79
|
18.4 |
26.0
24.0–25.0
|
122
117–119
|
18.4 |
1.1.31 |
1.39 |
22.0.0 |
См. также
- Polyfill
Iterator.prototype.toArrayвcore-js - es-shims polyfill
Iterator.prototype.toArray IteratorArray.from()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/toArray