Перейти к основному содержимому
Модуль 5 · Урок 3 из 419/32 в курсе~10 min
Уроки модуля (3/4)

перерыв и продолжить

Два очень полезных маленьких слова внутри цикла:

  • break немедленно выходит из самого внутреннего цикла.
  • continue переходит к следующей итерации, не выполняя остальную часть тела.

break: выйти раньше

Типично для «найти первый, удовлетворяющий условию»:

JS
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:

JS
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; // 2

continue: перейти к следующему

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

JS
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 помогает, когда тело длинное и вы хотите сохранить поток плоским (небольшое вложение).

Попробуйте это

Упражнение#js.m5.l3.e1
Попыток: 0Загрузка…

Определите `firstGreater(nums, порог)`, который возвращает первый элемент nums, строго превышающий пороговое значение, или неопределенный, если его нет. Используйте перерыв (или немедленный возврат).

Загрузка редактора…
Показать подсказку

Возврат внутри for работает как перерыв + возврат одновременно.

Решение доступно после 3 попыток

Обзор упражнения

Упражнение#js.m5.l3.e2
Попыток: 0Загрузка…

Определите `sumSkippingZeros(nums)`, который суммирует все элементы, кроме точных нулей. Используйте продолжить.

Загрузка редактора…
Показать подсказку

Если n === 0, продолжить; в противном случае накапливаются.

Решение доступно после 3 попыток