• Теория
  • Теория

Накопление в цикле

Внутри циклов можно не только запускать печать страниц, но и использовать обычные математические операции. Например, сложение:

for (let i = 1; i <= 5; i++) {
  console.log(2 + 2);
}

Результат программы будет таким:

LOG: 4 (number)
LOG: 4 (number)
LOG: 4 (number)
LOG: 4 (number)
LOG: 4 (number)

Число 4 выведется в консоль 5 раз, ведь именно столько итераций в этом цикле. То есть на каждой итерации двойки будут складываться и выводиться в консоль. Но если на каждой итерации нам нужно получать новое, увеличенное, число, надо действовать по-другому. Нужно завести перед циклом ещё одну переменную, которая и будет хранить сумму:

let sum = 0;

for (let i = 1; i <= 5; i++) {
  sum += 2;
  console.log(sum);
}

Программа выведет:

LOG: 2 (number)
LOG: 4 (number)
LOG: 6 (number)
LOG: 8 (number)
LOG: 10 (number)

Теперь на каждой итерации мы добавляем 2 к переменной sum, накапливая её значение. Переменная sum объявлена снаружи цикла (а не внутри тела цикла, что важно), поэтому её значение не сбрасывается при попадании в тело цикла, а увеличивается на 2.

Такая операция называется накоплением значения в цикле.

Давайте потренируемся накапливать значения и посчитаем сумму чисел от 1 до 10. Будем выводить в консоль промежуточные результаты, чтобы следить за изменениями суммы.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Циклы» тренажёра «Программирование на JavaScript — основы языка» можно после регистрации и оформления подписки.