for...of
Перебирает значения массива, строки, Map, Set и других перебираемых объектов.
Доступно с: ES2015
Синтаксис
for (const item of iterable) { … }Примеры
Перебор массива:
for (const fruit of ['apple', 'pear']) {
console.log(fruit);
}Результат:
apple
pearСтрока, индекс через entries() и break:
for (const char of 'hey') {
console.log(char);
}
for (const [i, n] of [10, 20, 30, 40].entries()) {
if (n > 20) break;
console.log(i, n);
}Результат:
h
e
y
0 10
1 20Примечания
В отличие от forEach(), внутри for...of работают break, continue и await. Обычные объекты так не перебираются — используйте Object.entries(obj).
См. также
- for...in — Перебирает имена свойств объекта.
- Array.prototype.forEach — Выполняет функцию для каждого элемента массива.
- Array.prototype.entries — Возвращает пары индекс — элемент для перебора в цикле for...of.
- Symbol.iterator — Особый ключ, который делает объект перебираемым в for...of и spread.
В учебнике
- Циклы — Циклы while, for и for...of в JavaScript — счётчик, шаг, перебор строки и накопление результата.