Spec-Zone.ru › JavaScript

TypedArray.prototype[Symbol.iterator]()

Базовая линия Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2016 года.

Метод [Symbol.iterator]() экземпляров TypedArray реализует протокол итерации и позволяет использовать типизированные массивы в большинстве синтаксисов, ожидающих итераторы, таких как синтаксис spread и циклы for...of. Он возвращает объект итератора массива, который выдает значение каждого индекса в типизированном массиве.

Начальное значение этого свойства совпадает с начальным значением свойства TypedArray.prototype.values.

Попробуйте

const uint8 = new Uint8Array([10, 20, 30]);
const iterator = uint8[Symbol.iterator]();

for (const value of iterator) {
  console.log(value);
}

// Expected output: 10
// Expected output: 20
// Expected output: 30

Синтаксис

typedArray[Symbol.iterator]()

Параметры

Нет.

Возвращаемое значение

То же возвращаемое значение, что и у TypedArray.prototype.values(): новый итератор итератора, который выдает значение каждого индекса в типизированном массиве.

Примеры

Итерация с использованием цикла for...of

Обратите внимание, что вам редко нужно вызывать этот метод напрямую. Наличие метода [Symbol.iterator]() делает типизированные массивы итерируемыми, а синтаксисы итерации, такие как цикл for...of, автоматически вызывают этот метод для получения итератора для перебора.

const arr = new Uint8Array([10, 20, 30, 40, 50]);
for (const n of arr) {
  console.log(n);
}

Ручное создание итератора

Вы по-прежнему можете вручную вызывать метод next() возвращенного объекта итератора для достижения максимального контроля над процессом итерации.

const arr = new Uint8Array([10, 20, 30, 40, 50]);
const arrIter = arr[Symbol.iterator]();
console.log(arrIter.next().value); // 10
console.log(arrIter.next().value); // 20
console.log(arrIter.next().value); // 30
console.log(arrIter.next().value); // 40
console.log(arrIter.next().value); // 50

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-%typedarray%.prototype-%symbol.iterator%

Совместимость с браузерами

Настольные компьютеры Мобильные Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
@@iterator
38
12
36
27–36Используется заполнитель свойства с именем @@iterator.
17–27Используется заполнитель свойства с именем iterator.
25
10
38
36
27–36Используется заполнитель свойства с именем @@iterator.
17–27Используется заполнитель свойства с именем iterator.
25
10
3.0
38
10
1.0.0
1.0
0.12.0

См. также

  • Polyfill of TypedArray.prototype[Symbol.iterator] in core-js
  • Руководство по типизированным массивам JavaScript
  • TypedArray
  • TypedArray.prototype.entries()
  • TypedArray.prototype.keys()
  • TypedArray.prototype.values()
  • Symbol.iterator
  • Протоколы итерации

© 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/TypedArray/Symbol.iterator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API