
JS for...of и for...in
Оба оператора, и
Оператор
Для массивов работает аналогично
Оба оператора, и
for...in
и for...of
производят обход объектов. Разница лишь в том, как они это делают.Оператор
for...of
выполняет обход по элементам коллекций, вызывая на каждом шаге итерации значение, а не ключ. Для массивов работает аналогично
forEach
, но имеет преимущества: возможность использовать continue и break для контроля итераций.let arr = [10, 20, 30];Цикл
for (let value of arr) {
value += 1;
console.log(value);
}
// 11 21 31
for...in
проходит по каждому отдельному элементу, вызывая на каждом шаге ключ. Цикл for...in
проходит по свойствам в произвольном порядке, поэтому его не следует использовать для массивов.var obj = {a:1, b:2, c:3};
for (var prop in obj) {
console.log(obj[prop]);
}
// 1 2 3