do...while — це конструкція циклу в JavaScript, яка гарантує виконання блоку коду щонайменше один раз, навіть якщо умова для повторення спочатку є хибною. Основна відмінність від циклу while полягає в тому, що перевірка умови виконується після виконання тіла циклу, а не перед ним.
Цикл починається зі слова do, після чого йде блок коду в фігурних дужках {}. Після блоку розміщено ключове слово while і умову в круглих дужках (). Якщо умова є істиною, виконання блоку повторюється. Якщо хибна — цикл завершується.
let counter = 0;
do {
console.log(`Значення лічильника: ${counter}`);
counter++;
} while (counter < 5);
// Виведе числа від 0 до 4.
Ця конструкція ідеально підходить для ситуацій, коли необхідно виконати певну дію перед перевіркою її доцільності, наприклад, для запиту користувацького вводу, що повторюється до введення коректного значення.
let input;
do {
input = prompt("Введіть число більше за 10:");
} while (input <= 10 && input !== null);
console.log(`Ви ввели: ${input}`);
У цьому прикладі, навіть якщо користувач одразу введе коректне значення, тіло циклу виконається хоча б один раз.
Користувач вводить число в поле вводу та натискає кнопку. JavaScript за допомогою do...while виводить послідовність чисел від 1 до зазначеного числа у контейнері #output. Це наочно демонструє принцип роботи циклу: перший ітерація завжди виконується незалежно від початкової умови.
Цей приклад створює масив з п’яти унікальних випадкових чисел. Конструкція do...while гарантує, що генерація продовжиться, поки масив не досягне потрібного розміру.
const uniqueNumbers = [];
do {
let randomNum = Math.floor(Math.random() * 100);
if (!uniqueNumbers.includes(randomNum)) {
uniqueNumbers.push(randomNum);
console.log(`Додано: ${randomNum}`);
}
} while (uniqueNumbers.length < 5);
console.log(`Унікальні числа: ${uniqueNumbers}`);