Array.prototype[@@iterator]()
Сводка
Начальное значение свойства @@iterator
является тем же самым функциональным объектом, что и начальное значение, возвращаемое методом values()
.
Синтаксис
arr[Symbol.iterator]()
Примеры
Пример: итерация посредством цикла for...of
var arr = ['w', 'y', 'k', 'o', 'p'];
// ваш браузер должен поддерживать цикл for..of
// и переменные с областью видимости let в циклах for
for (let letter of arr) {
console.log(letter);
}
Пример: альтернативный способ итерации
var arr = ['w', 'y', 'k', 'o', 'p'];
var eArr = arr[Symbol.iterator]();
console.log(eArr.next().value); // w
console.log(eArr.next().value); // y
console.log(eArr.next().value); // k
console.log(eArr.next().value); // o
console.log(eArr.next().value); // p
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Array.prototype[@@iterator]()' в этой спецификации. |
Стандарт | Изначальное определение. |
Совместимость с браузерами
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help!
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | 38 | 17 (17) (.iterator) 27 (27) (["@@iterator"]) 36 (36) ([Symbol.iterator]) |
Нет | 25 | Нет |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | Нет | Нет | 17.0 (17) (.iterator) 27.0 (27) (["@@iterator"]) 36.0 (36) ([Symbol.iterator]) |
Нет | 25 | Нет |
Примечания по Gecko
- С Gecko 17 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14) по Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) вместо символа
@@iterator
использовалось свойствоiterator
(баг 907077), а с Gecko 27 по Gecko 35 — строка-заменитель"@@iterator"
(баг 918828).