Перейти до основного вмісту
Модуль 5 · Урок 1 із 417/32 у курсі~10 min
Модульні уроки (1/4)

Петлі: for і while

Цикли дозволяють повторювати блок коду. JavaScript має три класичні форми: for, while, do…while. Використовуйте перший, коли знаєте (або можете обчислити) кількість ітерацій, інший два, коли вам просто потрібна умова виходу.

Класичний for

Три частини, розділені ;: ініціалізація, умова продовження, крок.

JS
for (let i = 0; i < 4; i++) {
  console.log(i); // 0, 1, 2, 3
}

Еквівалент у стилі while:

JS
let i = 0;
while (i < 4) {
  console.log(i);
  i++;
}

while

Перевіряє умову перед кожною ітерацією.

JS
let n = 10;
while (n > 0) {
  n = Math.floor(n / 2);
}
n; // 0

Якщо умова вже хибна в першому раунді, тіло ніколи не виконується.

do…while

Перевіряє умову після: тіло завжди виконується принаймні один раз.

JS
let tentativi = 0;
do {
  tentativi++;
} while (Math.random() < 0.0001); // pratica: provare almeno una volta

tentativi; // >= 1

Спробуйте

вправи#js.m5.l1.e1
Спроби: 0Завантаження…

Визначте функцію `sumUpTo(n)`, яка повертає суму 1+2+...+n (ціле додатне число). Використовуйте класичний для.

Завантаження редактора…
Показати підказку

Почніть підсумок з 0, потім цикл i від 1 до n включно.

Рішення доступне після 3 спроб

Повторна вправа

вправи#js.m5.l1.e2
Спроби: 0Завантаження…

Визначте `halveUntilOne(n)`, який за позитивного цілого числа повертає, скільки разів вам потрібно поділити n на 2 (за допомогою Math.floor), перш ніж досягти 1 або менше. Використовуйте деякий час.

Завантаження редактора…
Показати підказку

Ведіть лічильник і поділіть n на 2, якщо n > 1.

Рішення доступне після 3 спроб