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

Метод takeWhile

Метод takeWhile класса Iterable возвращает новый итерируемый объект, который содержит элементы исходной коллекции с начала до первого элемента, для которого переданная функция-предикат вернула false. Сам первый неподходящий элемент и все последующие элементы в результат не попадают. В первый и единственный параметр мы передаем функцию-предикат, которая принимает элемент коллекции и возвращает bool. Возвращаемый объект является ленивым: элементы вычисляются только по мере обхода. Если первый же элемент не удовлетворяет условию, результат будет пустым.

Синтаксис

iterable.takeWhile(bool test(E element))

Пример

Давайте возьмем элементы списка с начала до первого элемента, который больше или равен 3:

void main() { Iterable<int> iter = [1, 2, 3, 4, 5]; Iterable<int> res = iter.takeWhile((int el) => el < 3); print(res.toList()); }

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

[1, 2]

Пример

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

void main() { Iterable<String> iter = ['a', 'b', 'c', 'd', 'e']; Iterable<String> res = iter.takeWhile((String el) => el.length < 3); print(res.toList()); }

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

["a", "b", "c"]

Пример

Если первый же элемент не удовлетворяет условию, результат будет пустым:

void main() { Iterable<int> iter = [5, 1, 2, 3, 4]; Iterable<int> res = iter.takeWhile((int el) => el < 3); print(res.toList()); }

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

[]

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

  • метод take,
    который берет заданное количество элементов с начала
  • метод skipWhile,
    который пропускает элементы до первого неподходящего
  • метод where,
    который фильтрует элементы по условию
  • класс Iterable,
    которому принадлежит метод
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить