Модульні уроки (3/4)
перерва і продовження
Два дуже корисні маленькі слова всередині циклу:
breakнегайно виходить із внутрішнього циклу.continueпереходить до наступної ітерації без виконання решти тіла.
break: вийти раніше
Типовий для "знайти перший, який задовольняє умову":
function primoNegativo(nums) {
for (const n of nums) {
if (n < 0) return n; // o: result = n; break;
}
return undefined;
}
primoNegativo([3, 7, -2, 4, -9]); // -2Приклад із явним break:
let trovato = -1;
const nums = [10, 20, 30, 40, 50];
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 30) {
trovato = i;
break;
}
}
trovato; // 2continue: перейти до наступного
Коли елемент нецікавий, але ви хочете продовжувати цикл:
function sommaPari(nums) {
let totale = 0;
for (const n of nums) {
if (n % 2 !== 0) continue; // salta i dispari
totale += n;
}
return totale;
}
sommaPari([1, 2, 3, 4, 5, 6]); // 12У багатьох випадках if (cond) { ... } буде еквівалентним; continue допомагає при довгому тілі
і ви хочете зберегти потік рівним (невелике вкладення).
Спробуйте
Визначте `firstGreater(nums, threshold)`, який повертає перший елемент nums, який строго перевищує порогове значення, або невизначений, якщо його немає. Використовуйте перерву (або негайне повернення).
Показати підказку
Повернення всередині for працює як break + return одночасно.
Рішення доступне після 3 спроб
Повторна вправа
Визначте `sumSkippingZeros(nums)`, який підсумовує всі елементи, крім точних нулів. Використовуйте продовження.
Показати підказку
Якщо n === 0, продовжити; інакше накопичуються.
Рішення доступне після 3 спроб