Цикл For

Цикл while идеален для ситуаций, когда количество итераций неизвестно заранее, например, при поиске простого числа. Когда количество итераций известно, предпочтительнее использовать цикл for.

Посмотрим реализацию переворота строки через цикл for:

const reverseString = (str) => {
  let index = strlen(str) - 1;
  let result = '';

  for (index; index >= 0; index--) {
    currChar = str[index];
    result = "{result}{currChar}";
  }

  return result;
}

Можно читать так: «цикл с индексом index повторяется пока index >= 0 и после каждого шага уменьшает index на 1».

В определении цикла for есть:

  1. начальное значение счетчика
  2. предикат-условие повторения циклов
  3. описание того, как счётчик меняется после каждого шага

В остальном принцип работы точно такой же, как у цикла while.


Давайте рассмотрим ход движения программы на примере вызова функции с простой строкой:

reverseString('cat');

В строке 3 символа, поэтому в цикле будет 3 итерации:

Для удобства одинаковыми цветами отмечены одинаковые значения. Как видите, счётчик в цикле меняется после шага.

Задание

Реализуйте функцию sumOfSeries, которая считает сумму ряда целых чисел. Ряд задаётся двумя числами — начальным и конечным.

Функция принимает два аргумента-числа и возвращает сумму ряда. Например, для аргументов 4, 7 сумма будет 4 + 5 + 6 + 7 = 22.

sumOfSeries(1, 2); // => 3
sumOfSeries(1, 3); // => 6
sumOfSeries(4, 7); // => 22

Если начальное и конечное числа равны, то результатом будет то же число:

sumOfSeries(1, 1); // => 1

Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.