РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
10 of 723 menu

Цикл for-in

Цикл for-in перебирает элементы коллекции и последовательно выполняет для каждого из них заданный блок кода. В первом параметре мы указываем переменную, в которую на каждой итерации попадает очередной элемент коллекции, а во втором - саму коллекцию: список, множество, строку или любую другую сущность, реализующую интерфейс Iterable. Цикл автоматически останавливается, когда элементы коллекции заканчиваются.

Синтаксис

for (var element in collection) { // тело цикла }

Пример

Давайте переберем список и выведем каждый его элемент в консоль:

void main() { List<String> list = ['a', 'b', 'c', 'd', 'e']; for (var el in list) { print(el); } }

Результат выполнения кода:

"a" "b" "c" "d" "e"

Пример

Давайте переберем список чисел и посчитаем их сумму:

void main() { List<int> list = [1, 2, 3, 4, 5]; int res = 0; for (var el in list) { res += el; } print(res); }

Результат выполнения кода:

15

Пример

Цикл for-in умеет перебирать не только списки, но и строки. Давайте выведем каждый символ строки отдельно:

void main() { String str = 'abcde'; for (var el in str.split('')) { print(el); } }

Результат выполнения кода:

"a" "b" "c" "d" "e"

Пример

При переборе можно получить и индекс элемента. Для этого нужно использовать метод indexed, который возвращает пары индекс-значение:

void main() { List<String> list = ['a', 'b', 'c', 'd', 'e']; for (var entry in list.indexed) { print('${entry.$1}: ${entry.$2}'); } }

Результат выполнения кода:

"0: a" "1: b" "2: c" "3: d" "4: e"

Пример

Внутри цикла for-in можно использовать оператор break для досрочного выхода и оператор continue для пропуска текущей итерации. Давайте прервем перебор на элементе c:

void main() { List<String> list = ['a', 'b', 'c', 'd', 'e']; for (var el in list) { if (el == 'c') { break; } print(el); } }

Результат выполнения кода:

"a" "b"

Смотрите также

  • цикл for,
    который перебирает элементы по индексу
  • цикл while,
    который выполняет код пока условие истинно
  • оператор break,
    который прерывает выполнение цикла
  • оператор continue,
    который пропускает текущую итерацию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить