Курс по Python: https://stepik.org/course/100707
Мы продолжаем курс по языку Python. Это занятие
начнем со знакомства операторов break и continue цикла while. Суть этих
операторов, в следующем:
- break
– досрочное завершение цикла; - continue
– пропуск одной итерации цикла.
Давайте сначала
рассмотрим работу оператора break. Если в качестве условия цикла записать
значение True:
print("запуск цикла") i = 0 while True: i += 1 print("завершение цикла")
То такой цикл
будет работать «вечно», он сам никогда не остановится и строчку «завершение
цикла» мы не увидим. Программу в этом случае можно только прервать и полностью
остановить. Однако, если записать в тело цикла оператор break, то он
прервется, как только встретится:
Обратите
внимание, оператор i += 1 один раз будет выполнен, а прерывание
сработает только в строчке с оператором break.
Но вы скажете,
конечно, зачем писать программы с «вечными» циклами, нужно корректно
прописывать условие и все будет хорошо? Часто, именно так и следует поступать.
Но бывают ситуации, когда все же требуется досрочно прерывать работу цикла. Например,
у нас имеется список с числами:
И мы хотим
определить, есть ли среди них хотя бы одно четное значение. Здесь удобно
воспользоваться оператором break. Как только встретим первое четное
значение, дальнейшую проверку можно не проводить:
d = [1, 5, 3, 6, 0, -4] flFind = False i = 0 while i < len(d): flFind = d[i] % 2 == 0 if flFind: break i += 1 print(flFind)
Конечно, эту же
программу можно было бы построить и без break, используя
составное условие:
i = 0 while i < len(d) and d[i] % 2 != 0: i += 1 flFind = i != len(d)
Но, на мой
взгляд, первый вариант с break красивее и понятнее, чем второй. Хотя,
все дело вкуса – кому, как нравится.
Я, думаю, что
принцип работы оператора break понятен. Он прерывает работу любого
оператора цикла, как только выполнение программы перейдет к нему.
Следующий
оператор continue позволяет
пропускать одну итерацию тела цикла. Давайте, опять же, на конкретном примере
посмотрим, где и как его целесообразно применять.
Предположим, что
мы просим пользователя вводить с клавиатуры числа и все нечетные значения
суммируем. Как только пользователь введет 0, подсчет суммы прекращается.
Реализовать эту программу удобно, следующим образом:
s = 0 d = 1 while d != 0: d = int(input("Введите целое число: ")) if d % 2 == 0: continue s += d print("s = " + str(s))
Смотрите, мы
здесь на каждой итерации цикла проверяем, если текущее значение d четное, то
последующий подсчет суммы и вывод ее в консоль не выполняется, пропускается.
При этом, цикл продолжает свою работу и переходит к следующей итерации, пока
пользователь не введет число 0. Благодаря оператору continue мы основную
логику программы прописываем непосредственно в теле цикла, а не во вложенном
блоке условного оператора. То есть, если программу переписать без continue, то она бы
выглядела так:
s = 0 d = 1 while d != 0: d = int(input("Введите целое число: ")) if d % 2 != 0: s += d print("s = " + str(s))
Здесь получается
массивный вложенный блок операторов. Конечно, на производительность это никак
не влияет, но, все же такие вложения лучше избегать, так программа становится
менее читабельной и удобной для дальнейшего редактирования.
В заключение
этого занятия рассмотрим третий оператор циклов else. Да, мы уже
говорили об этом операторе, когда рассматривали условия. У циклов он тоже есть
и сейчас разберем, как работает.
Синтаксис этого
оператора, следующий. После тела цикла прописывается необязательный оператор else, в котором
указываются операторы, исполняющиеся после завершения цикла:
И здесь
возникает вопрос: а чем блок else отличается от блока операторов, просто
идущих после блока while? Ведь когда цикл while завершается, мы
так и так переходим к последующим операторам! Но обратите внимание вот на эту на
фразу «штатное завершение цикла». Штатное завершение – это когда условие цикла
стало равно False и оператор while прекращает свою
работу. Только в этом случае мы перейдем в блок else. Давайте я
покажу это на конкретном примере. Предположим, что мы вычисляем сумму вида:
S = 1/2 + 1/3 +
1/4 + 1/10 + … + 1/0
И если в этом
сумме встречается деление на ноль, то вычисления следует прервать. Реализуем
эту программу, следующим образом:
S=0 i=-10 while i < 100: if i == 0: break S += 1/i i += 1 else: print("Сумма вычислена корректно") print(S)
Смотрите, если
здесь при вычислении суммы встречается деление на 0, то срабатывает break и цикл досрочно
прерывается, то есть, завершается в нештатном режиме. В этом случае блок else пропускается и
мы не видим сообщения, что сумма вычислена корректно. Если же все проходит
штатно и цикл завершается по своему условию, то в консоли появляется сообщение
«Сумма вычислена корректно», означающее выполнение блока else.
Надеюсь, из
этого примера вам стало понятно назначение оператора else цикла while. Также из этого
занятия вы должны себе хорошо представлять работу операторов break и continue. После
закрепления этого материала практическими заданиями, жду всех вас на следующем
уроке.
Курс по Python: https://stepik.org/course/100707
Видео по теме
В этой статье вы познакомитесь с инструкциями break
и continue
— их еще называют инструкциями управления циклом.
Для чего нужны break и continue
Инструкции break
и continue
управляют циклом.
Циклы выполняют блок когда до тех пор, пока условие цикла истинно. Иногда нужно прервать выполнение целого цикла без проверки условия.
В таких случаях нам помогут инструкции break
и continue
.
Инструкция break
Инструкция break
прерывает цикл, в котором он объявлен. После этого управление программой передается инструкции, которая находится после тела цикла.
Если инструкция break
находится внутри вложенного цикла (цикл в цикле), то прерывается внутренний цикл.
Синтаксис break
break
Блок-схема break
Ниже представлен пример работы инструкции break
в циклах for
и while
.
Пример использования break
# Пример использования break внутри цикла
for val in "строка":
if val == "о":
break
print(val)
print("Конец")
Вывод:
с
т
р
Конец
В этой программе мы итерируем строку «строка». В теле цикла мы проверяем буквы — если это «о», прерываем цикл. Как видите, в выводе напечатаны все буквы до «о». Когда переменная val
принимает значение «о», цикл завершается.
Инструкция continue
Инструкция continue
используется для того, чтобы пропустить оставшееся тело цикла текущей итерации. Цикл не завершается, а продолжается со следующей итерации.
Синтаксис continue
continue
Блок-схема continue
Ниже представлен пример работы инструкции continue
в циклах for
и while
.
Пример использования continue
# Пример использования continue внутри цикла
for val in "строка":
if val == "о":
continue
print(val)
print("Конец")
Вывод:
с
т
р
к
а
Конец
Эта программа очень похожа на вышестоящий пример. Единственное отличие — break
мы заменили на continue
.
Мы продолжаем цикл до тех пор, пока не встретим «о» — в этот момент мы пропускаем оставшуюся часть цикла. Как видите, мы напечатали все буквы, кроме «о».
-
Главная
-
Инструкции
-
Python
-
Операторы break, continue и pass в циклах Python 3
При работе с циклами while
и for
бывает необходимо выполнить принудительный выход, пропустить часть или игнорировать заданные условия. Для первых двух случаев используются операторы break
и continue
Python, а для игнорирования условий — инструкция pass
. Давайте посмотрим на примерах, как работают эти операторы.
Инструкция break
в языке программирования Python прерывает выполнение блока кода. Простейший пример:
for j in 'bananafishbones':
if j == 'f':
break
print(j)
Получаем такой вывод:
b
a
n
a
n
a
Как только программа после нескольких итераций доходит до элемента последовательности, обозначенного буквой f
, цикл (loop) прерывается, поскольку действует оператор break
. Теперь рассмотрим работу этой инструкции в цикле while
:
x = 0
while x < 5:
print(x)
x += 0.5
print('Выход')
Вывод будет следующий (приводим с сокращениями):
0
0.5
…
4.0
4.5
Выход
Как только перестает выполняться условие и x становится равным 5, программа завершает цикл. А теперь перепишем код с использованием инструкции break
:
x = 0
while True:
print(x)
if x >= 4.5:
break
x += 0.5
print('Выход')
Результат тот же:
0
0.5
…
4.0
4.5
Выход
Мы точно так же присвоили x значение 0 и задали условие: пока значение x истинно (True), продолжать выводить его. Код, правда, получился немного длиннее, но бывают ситуации, когда использование оператора прерывания оправданно: например, при сложных условиях или для того, чтобы подстраховаться от создания бесконечного цикла. Уберите из кода выше две строчки:
x = 0
while True:
print(x)
x += 0.5
print('Выход')
И перед нами бесконечный вывод:
0
0.5
…
100
100.5
…
1000000
1000000.5
…
И слово в конце (‘Выход’), таким образом, никогда не будет выведено, поскольку цикл не закончится. Поэтому при работе с последовательностями чисел использование оператора break
убережет вас от сбоев в работе программ, вызываемых попаданием в бесконечный цикл.
Конструкция с else
Иногда необходимо проверить, был ли цикл исполнен до конца или выход произошел с использованием инструкции break
. Для этого добавляется проверка по условию с else
. Напишем программу, которая проверяет фразу на наличие запрещенных элементов:
word = input('Введите слово: ')
for i in word:
if i == 'я':
print('Цикл был прерван, обнаружена буква я')
break
else:
print('Успешное завершение, запрещенных букв не обнаружено')
print('Проверка завершена')
Теперь, если пользователь введет, например, «Привет!», программа выдаст следующее:
Успешное завершение, запрещенных букв не обнаружено
Проверка завершена
Но если во введенном слове будет буква «я», то вывод примет такой вид:
Цикл был прерван, обнаружена буква я
Проверка завершена
Небольшое пояснение: функция input
принимает значение из пользовательского ввода (выражение 'Введите слово: '
необходимо только для пользователя, для корректной программы хватило бы и такой строки: word = input ()
) и присваивает его переменной word
. Последняя при помощи for
поэлементно (в данном случае — побуквенно) анализируется с учетом условия, вводимого if
.
Оператор continue в Python
Если break
дает команду на прерывание, то continue
действует более гибко. Его функция заключается в пропуске определенных элементов последовательности, но без завершения цикла. Давайте напишем программу, которая «не любит» букву «я»:
word = input('Введите слово: ')
for i in word:
if i == 'я':
continue
print(i)
Попробуйте ввести, например, «яблоко», в этом случае вывод будет таким:
б
л
о
к
о
Это происходит потому, что мы задали условие, по которому элемент с определенным значением (в данном случае буква «я») не выводится на экран, но благодаря тому, что мы используем инструкцию continue
, цикл доходит до последней итерации и все «разрешенные» элементы выводятся на экран. Но в коде выше есть одна проблема: если пользователь введет, например, «Яблоко», программа выведет слово полностью, поскольку не учтен регистр:
Я
б
л
о
к
о
Наиболее очевидное решение в данном случае состоит в добавлении и заглавной буквы в блок if
таким образом:
word = input('Введите слово: ')
for i in word:
if i == 'я' or i == 'Я':
continue
print(i)
Оператор pass в Python
Назначение pass
— продолжение цикла независимо от наличия внешних условий. В готовом коде pass
встречается нечасто, но полезен в процессе разработки и применяется в качестве «заглушки» там, где код еще не написан. Например, нам нужно не забыть добавить условие с буквой «я» из примера выше, но сам этот блок по какой-то причине мы пока не написали. Здесь для корректной работы программы и поможет заглушка pass
:
word = input('Введите слово: ')
for i in word:
if i == 'я':
pass
else:
print('Цикл завершен, запрещенных букв не обнаружено')
print('Проверка завершена')
Теперь программа запустится, а pass
будет для нас маркером и сообщит о том, что здесь нужно не забыть добавить условие.
Вот и всё, надеемся, скоро break
, continue
и pass
станут вашими верными друзьями в разработке интересных приложений. Успехов!
#Руководства
-
0
Они есть практически в каждом языке программирования, но в Python с ними работать приятнее всего. Как, впрочем, и со всем остальным.
Иллюстрация: Катя Павловская для Skillbox Media
Журналист, изучает Python. Любит разбираться в мелочах, общаться с людьми и понимать их.
Код в Python обычно выполняется последовательно: первая строка, потом вторая, третья и так далее. Но некоторые конструкции позволяют нарушать этот порядок, чтобы совершать более сложные операции.
Например, циклы выполняют один и тот же блок кода несколько раз. В Python есть два основных вида циклов: while и for. О них и поговорим.
- Как работают циклы
- Цикл while в Python
- Цикл for в Python
- Функция range()
- Однострочный цикл: генератор списков
- Прерывание цикла: ключевое слово break
- Пропуск части цикла: ключевое слово continue
- Последнее действие в цикле: ключевое слово else
- Бесконечный цикл
- Как сделать аналог do while в Python
- Вложенные циклы в Python
Любой цикл состоит из двух обязательных элементов:
- условие — начальный параметр; цикл запустится только при его выполнении и закончится, как только условие перестанет выполняться;
- тело — сама программа, которая выполняется внутри цикла.
Схематически его можно представить так:
В синтаксисе Python в конце строки с условием ставится двоеточие, а всё тело выделяется отступом (табуляцией или четырьмя пробелами).
программа до цикла условие: первая строка тела вторая строка тела программа после цикла
While — наиболее простой и понятный вид цикла. Его ещё называют циклом с предусловием.
x = 1
while x < 5:
print(x)
x += 1 # Означает то же самое, что x = x + 1
>>> 1
>>> 2
>>> 3
>>> 4
С языка Python на русский программу можно перевести так: «Пока икс меньше пяти, печатай икс и прибавляй к нему единицу».
Но в простоте while кроется и опасность: его легко сделать бесконечным. Например, если в коде выше мы уберём x += 1, то получится вот так:
# Этот код будет выполняться бесконечно
x = 1
while x < 5:
print(x)
Здесь с переменной x ничего не происходит. Она всегда равна единице, поэтому условие цикла никогда не перестанет выполняться. Соответственно, он никогда не завершится.
Чтобы избежать таких ситуаций, при использовании while нужно следить: перестанет ли когда-нибудь выполняться условие? Ещё можно использовать оператор break — о нём мы расскажем чуть позже.
Цикл for программисты используют куда чаще, чем while. Для него мы устанавливаем не условие в чистом виде, а некий массив данных: список, кортеж, строку, словарь, диапазон или любой другой итерируемый объект.
На каждой итерации цикла программа как бы спрашивает: «Остались ли в объекте ещё элементы, по которым я не прошла?»
Допустим, у нас есть список с числами: [14, 101, -7, 0]. Мы можем использовать его вместе с for, чтобы напечатать каждый элемент по отдельности.
num_list = [14, 101, -7, 0] for number in num_list: print(number) >>> 14 >>> 101 >>> -7 >>> 0
Здесь переменная number обновляется при каждом новом витке цикла. Сначала она хранит в себе первый элемент, потом второй, и так — пока список не закончится.
Как и любую другую переменную, мы могли назвать number как угодно. Часто используют буквы i, j и k. Если внутри цикла мы ни разу не обращаемся к этой переменной, то среди питонистов её принято обозначать символом нижнего подчёркивания _.
Когда нужно применить for к числовому промежутку, его можно задать диапазоном. Для этого используют функцию range(). В неё можно передать от одного до трёх аргументов.
Если аргумент один, то сформируется диапазон от нуля до числа, предшествующего значению аргумента.
for i in range(3): print(i) >>> 0 >>> 1 >>> 2
Если аргумента два, то сформируется диапазон от значения первого аргумента до числа, предшествующего значению второго аргумента.
for i in range(23, 26): print(i) >>> 23 >>> 24 >>> 25
Если аргумента три, то первые два работают, как в прошлом случае. Третий же означает шаг, с которым числа следуют друг за другом.
for i in range(10, 20, 3): print(i) >>> 10 >>> 13 >>> 16 >>> 19
Если в теле цикла for выполняется всего одно действие, синтаксис Python позволяет сократить его запись до:
i for i in iterable_object
Это синтаксический сахар, который не добавляет новой функциональности, но влияет на внешний вид кода. Так можно легко и быстро генерировать списки.
num_list = [i for i in range(1, 11)] print(num_list) >>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
В такую конструкцию также можно добавить дополнительное условие. Сделаем генератор, который будет выводить только чётные числа. При этом не будем создавать переменную для получившегося списка, а сразу напечатаем его.
print([i for i in range(1, 11) if i % 2 == 0]) >>> [2, 4, 6, 8, 10]
Конструкция if i % 2 == 0 означает: «если при делении i на 2 остаток равен 0».
С самой переменной i тоже можно проводить операции. Используем предыдущий генератор, но теперь будем выводить не сами чётные числа, а их квадраты.
print([i ** 2 for i in range(1, 11) if i % 2 == 0]) >>> [4, 16, 36, 64, 100]
Главное при таком подходе — сильно не увлекаться. Если код тяжело прочесть и понять (например, когда к i применяется сразу несколько функций и методов и вдобавок задаётся сложное условие), то лучше разбить его на несколько строк. Понятность важнее лаконичности.
Бывают случаи, когда нужно завершить цикл принудительно, даже если его условие всё ещё выполняется. В таких случаях используют ключевое слово break.
Возьмём строку Hi, loop! и будем выводить каждый её символ. Если встретим запятую, досрочно завершим цикл.
string = 'Hi, loop!' for i in string: if i == ',': break print(i) >>> H >>> i
Если же в строке запятой не будет, то цикл пройдёт по каждому её символу — и только потом завершится.
string = 'Hi loop!' for i in string: if i == ',': break print(i) >>> H >>> i >>> >>> l >>> o >>> o >>> p >>> !
Иногда возникает необходимость принудительно начать следующий шаг цикла, пропустив часть строк в его теле. Для таких случаев существует ключевое слово continue.
Возьмём числа от 1 до 10 включительно и выведем из них только те, которые не делятся ни на 2, ни на 3.
for i in range(1, 10): if i%2 == 0 or i%3 == 0: continue print(i) >>> 1 >>> 5 >>> 7
Как видим, если срабатывает условие if (то есть если число делится на 2 или на 3 без остатка), то оставшаяся часть тела не работает — и i не печатается.
Обычно ключевое слово else употребляют в связке с if, но у него есть и другое применение. Его можно использовать вместе с while или for. В таком случае else-код выполнится после того, как пройдут все витки цикла.
Если же цикл досрочно прервётся из-за break, то часть программы в else не выполнится.
Вспомним наш код со строкой Hi, loop! и добавим к нему else.
string = 'Hi, loop!' for i in string: if i == ',': break print(i) else: print('Цикл завершился без break') >>> H >>> i
В строке была запятая, сработал break — не выполнилось else-условие. Теперь уберём из неё запятую и посмотрим, что получится.
string = 'Hi loop!' for i in string: if i == ',': break print(i) else: print('Цикл завершился без break') >>> H >>> i >>> >>> l >>> o >>> o >>> p >>> ! >>> Цикл завершился без break
Цикл прошёл все свои итерации, завершился самостоятельно, и поэтому код в else выполнился. Он также будет работать, если цикл не совершил ни одного витка.
while 1 == 0: print('Эта строка никогда не выполнится') else: print('Цикл завершился без break') >>> Цикл завершился без break
Иногда использовать бесконечный цикл может быть хорошей идеей. Например, мы пишем игру: она должна работать до тех пор, пока игрок из неё не выйдет. В этом случае в условии выхода нужно будет прописать break.
Чтобы цикл был бесконечным, его условие должно выполняться всегда. Это можно сделать разными способами.
# Способ №1 — «пока истинно» while True: pass # pass — оператор-заглушка, который ничего не делает
Если сделать while False, то цикл, наоборот, никогда не начнётся.
# Способ №2 — «пока проверяемое значение — любое ненулевое число»
while 1:
pass
while -4:
pass
while 2023:
pass
Если сделать while 0, то цикл никогда не начнётся.
# Способ №3 — «пока проверяемое значение — непустой элемент»
while 'string':
pass
while [False, 'list', 0]:
pass
Если после while поставить пустой элемент — например, строку str() или список list(), то цикл никогда не начнётся.
# Способ №4 — корректное уравнение
while 1 == 1:
pass
while 0 != 1:
pass
Альтернативный подход — поместить после while переменную, в которой лежит подходящее условие. Например:
# Способ №1 condition = True while condition: pass # Способ №2 condition = 1 while condition: pass # Способ №3 condition = 'string' while condition: pass
В таких случаях для выхода из цикла можно не использовать оператор break, а заменить значение в переменной condition на False, 0, None или любой пустой элемент. Цикл закончит последний виток и завершится, потому что условие больше не будет выполняться.
Такой подход применяется, когда нужно завершить цикл из других мест программы: например, из функции или вложенного цикла. Ещё одно отличие: так как цикл завершается «естественно», без оператора break, в нём выполнится else-код (если он есть).
condition = True x = 0 while condition: print(x) x += 1 if x == 3: condition = False else: print('Цикл завершился без break') >>> 0 >>> 1 >>> 2 >>> Цикл завершился без break
В некоторых языках программирования есть ещё один вид цикла — с постусловием. Он всегда проходит хотя бы один виток и только после этого проверяет, выполняется ли условие. Вот его схема:
В Java и C++ такое достигается с помощью конструкции do while, но в Python её нет. Зато можно сделать аналог. Для этого нужно использовать бесконечный цикл, а внутри его тела прописать условие завершения.
x = 12 while True: x += 1 print(x) if x > 5: break >>> 13
Каким бы ни было значение x, такой цикл пройдёт хотя бы один виток. А это и есть постусловие.
Циклы в Python можно вкладывать друг в друга — то есть в теле одного цикла вызывать другой. Логика программы при этом усложняется.
Можно вкладывать друг в друга сколько угодно циклов. При этом для каждого нового уровня вложенности нужно увеличивать отступ. Выглядит это так:
while condition: pass while inner_condition: pass pass
Напишем программу, которая будет выводить номер итерации внешнего и внутреннего цикла.
for i in range(3): print(f'Итерация внешнего цикла: {i}') for j in range(2): print(f'Итерация внутреннего цикла: {j}') >>> Итерация внешнего цикла: 0 >>> Итерация внутреннего цикла: 0 >>> Итерация внутреннего цикла: 1 >>> Итерация внешнего цикла: 1 >>> Итерация внутреннего цикла: 0 >>> Итерация внутреннего цикла: 1 >>> Итерация внешнего цикла: 2 >>> Итерация внутреннего цикла: 0 >>> Итерация внутреннего цикла: 1
- Циклы — один из основных инструментов любого Python-разработчика. С их помощью всего за пару строчек кода можно совершить сразу множество повторяющихся действий.
- Циклы состоят из условия и тела. Код в теле выполняется только до тех пор, пока соблюдено условие.
- В Python есть два вида циклов: while и for. В while условие задаётся явным образом. В for перебирается каждый элемент коллекции.
- К обоим видам можно применять разные операторы: break для прерывания, continue для пропуска части тела, else для совершения последнего действия перед выходом из цикла.
- Циклы можно делать бесконечными (тогда программа никогда не завершится или завершится только при выполнении определённого условия) и вкладывать друг в друга.
Как зарабатывать больше с помощью нейросетей?
Бесплатный вебинар: 15 экспертов, 7 топ-нейросетей. Научитесь использовать ИИ в своей работе и увеличьте доход.
Узнать больше
Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером
Управляющие инструкции
—
JS: Массивы
В циклах JavaScript доступны для использования две инструкции, влияющие на их поведение: break
и continue
. Их использование не является необходимым, но все же они встречаются на практике. Поэтому про них нужно знать.
Break
Инструкция break
производит выход из цикла. Не из функции, а из цикла. Встретив ее, интерпретатор перестает выполнять текущий цикл и переходит к инструкциям, идущим сразу за циклом.
const coll = ['one', 'two', 'three', 'four', 'stop', 'five'];
for (const item of coll) {
if (item === 'stop') {
break;
}
console.log(item);
}
То же самое легко получить без break
, используя цикл while
. Этот цикл семантически лучше подходит для такой задачи, так как подразумевает неполный перебор:
const coll = ['one', 'two', 'three', 'four', 'stop', 'five'];
let i = 0;
while (coll[i] !== 'stop') {
console.log(coll[i]);
i += 1;
}
Цикл while
идеален для ситуаций, когда количество итераций неизвестно заранее. Например, при ожидании условия для выхода или при поиске простого числа — как в коде выше.
Если условие в цикле while
будет истинным, то цикл будет бесконечным. Важно помнить об этом и всегда проверять условие в таком цикле:
let i = 0;
// Бесконечный цикл! Опасно запускать!
while (true) {
console.log(i);
i += 1;
}
Когда количество итераций известно, предпочтительнее использовать цикл for
. В отличие от while
, цикл for of
гарантированно остановится после перебора всех элементов, даже если условие break не будет достигнуто:
const coll = ['one', 'two', 'three', 'four', 'stop', 'five'];
for (const item of coll) {
if (false) {
// Условие никогда не выполнится, но цикл все равно завершит работу
break;
}
console.log(item);
}
Continue
Инструкция continue
позволяет пропустить итерацию цикла. Ниже пример с функцией myCompact()
, которая удаляет null
элементы из массива:
const myCompact = (coll) => {
const result = [];
for (const item of coll) {
if (item === null) {
continue;
}
result.push(item);
}
return result;
};
Код без continue
получается проще:
const myCompact = (coll) => {
const result = [];
for (const item of coll) {
if (item !== null) {
result.push(item);
}
}
return result;
};
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
-
130 курсов, 2000+ часов теории -
1000 практических заданий в браузере -
360 000 студентов
Наши выпускники работают в компаниях:
Рекомендуемые программы
профессия
•
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
профессия
•
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
профессия
•
от 10 080 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
Автоматизированное тестирование веб-приложений на JavaScript
в разработке
дата определяется