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

Метод skipWhile

Метод skipWhile возвращает новую ленивую коллекцию, пропуская элементы исходной коллекции до тех пор, пока переданная функция-предикат возвращает true. Как только предикат вернёт false, метод прекращает пропуск и возвращает все оставшиеся элементы, включая текущий. В первый параметр мы передаём функцию, которая принимает элемент и возвращает bool. Если предикат всегда возвращает true, результатом будет пустая коллекция.

Синтаксис

iterable.skipWhile(bool Function(T element) test)

Пример

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

void main() { Iterable<int> iterable = [1, 2, 3, 4, 5]; Iterable<int> res = iterable.skipWhile((int element) => element < 3); print(res); }

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

(3, 4, 5)

Пример

Давайте пропустим элементы списка, пока они равны 1. Как только встретится другое число, пропуск прекратится:

void main() { Iterable<int> iterable = [1, 1, 1, 2, 1, 3]; Iterable<int> res = iterable.skipWhile((int element) => element == 1); print(res); }

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

(2, 1, 3)

Пример

Давайте пропустим элементы списка строк, пока их длина меньше 2:

void main() { Iterable<String> iterable = ['a', 'b', 'abcde', 'c', 'd']; Iterable<String> res = iterable.skipWhile((String element) => element.length < 2); print(res); }

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

(abcde, c, d)

Пример

Если предикат всегда возвращает true, то результатом будет пустая коллекция. Давайте проверим это:

void main() { Iterable<int> iterable = [1, 2, 3, 4, 5]; Iterable<int> res = iterable.skipWhile((int element) => true); print(res); }

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

()

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

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