Циклы без заданного количества итераций в JavaScript

Бывают задачи, в которых количество итераций цикла не известно заранее. К примеру: дано число, нужно делить его на 2 столько раз, пока результат не станет меньше 10. Нужно вывести число, которое при этом получится.

В этом случае мы не знаем количество итераций. Не беда - сделаем условием цикла условие пока число больше 10:

let num = 500; while (num > 10) { num = num / 2; } console.log(num); // после цикла получим результат

Дано число num с неким начальным значением. Умножайте его на 3 столько раз, пока результат умножения не станет больше 1000. Какое число получится? Посчитайте количество итераций, необходимых для этого.

Использования цикла for

Для решения задачи из начала урока можно использовать и цикл for, но особым образом - без тела:

for (var num = 500; num > 10; num = num / 2); console.log(num); // после цикла получим результат

Обратите внимание на то, что переменная num объявлена через var - это нужно для того, чтобы переменная была доступна после цикла.

Кстати, при желании легко можно подсчитать количество совершенных циклом операций:

for (var num = 500, i = 0; num > 10; num = num / 2, i++); console.log(num, i);

Решите предыдущую задачу через цикл for.