Итерация в JavaScript
- Что такое итерация
- Итерация в цикле for
- Текущее значение
- Индекс итерации
- Пропуск итерации
- Итерация и перебор
- Итого
Итерация - это один шаг повторения. Если цикл выполнил тело пять раз, значит прошло пять итераций.
for (let i = 1; i <= 3; i++) {
console.log('Итерация ' + i);
}
Результат:
Итерация 1
Итерация 2
Итерация 3
Каждый вывод в консоль произошел на отдельной итерации.
Что такое итерация
Когда цикл повторяет одно и то же действие, каждое выполнение тела цикла называют итерацией.
for (let i = 0; i < 4; i++) {
console.log(i);
}
Здесь будет четыре итерации:
0
1
2
3
На первой итерации i равно 0, на второй - 1, на третьей - 2, на четвертой - 3.
Итерация в цикле for
В цикле for обычно хорошо видно, как меняется состояние от итерации к итерации.
for (let i = 0; i < 3; i++) {
console.log('Текущий i: ' + i);
}
Работа цикла идет по шагам:
1. создается счетчик i со значением 0;
2. проверяется условие i < 3;
3. выполняется тело цикла;
4. выполняется шаг i++;
5. цикл снова проверяет условие.
Каждый раз, когда тело цикла выполняется, проходит новая итерация.
Текущее значение
При переборе массива итерацией называют обработку одного элемента.
let languages = ['HTML', 'CSS', 'JavaScript'];
for (let language of languages) {
console.log(language);
}
Здесь будет три итерации, потому что в массиве три элемента.
На первой итерации language равно ‘HTML’, на второй - ‘CSS’, на третьей - ‘JavaScript’.
Значение, которое доступно прямо сейчас, часто называют текущим значением или текущим элементом.
Индекс итерации
В массивах и строках у элементов есть индексы. Индекс помогает понять, на какой позиции находится текущий элемент.
let fruits = ['яблоко', 'банан', 'груша'];
for (let i = 0; i < fruits.length; i++) {
console.log(i + ': ' + fruits[i]);
}
Результат:
0: яблоко
1: банан
2: груша
Здесь i одновременно выступает счетчиком и индексом текущего элемента.
Пропуск итерации
Иногда текущую итерацию нужно пропустить. Для этого используют continue.
for (let i = 1; i <= 5; i++) {
if (i === 3) {
continue;
}
console.log(i);
}
Результат:
1
2
4
5
Когда i стало равно 3, текущая итерация завершилась раньше. Цикл не остановился полностью, а перешел к следующему шагу.
Итерация и перебор
Слова «итерация» и «перебор» часто встречаются рядом.
Перебор - это весь процесс прохождения по значениям.
Итерация - это один шаг внутри этого процесса.
let numbers = [2, 4, 6];
for (let number of numbers) {
console.log(number);
}
Весь цикл - это перебор массива numbers. Каждый отдельный проход по числу 2, 4 и 6 - это итерация.
Дальше этот термин будет встречаться в темах про итерируемые объекты, Symbol.iterator и метод next().
Итого
1. Итерация - это один шаг повторения в цикле.
2. Если тело цикла выполнилось пять раз, значит прошло пять итераций.
3. При переборе массива одна итерация обычно соответствует обработке одного элемента.
4. Текущий элемент - это значение, с которым цикл работает на данной итерации.
5. continue завершает текущую итерацию и переводит цикл к следующей.