Метод skipWhile
Возвращает Iterable , пропускающий начальные элементы, пока test выполняется.
Фильтрация происходит лениво. Каждый новый итератор возвращаемого итерируемого объекта перебирает все элементы this.
Возвращаемый итерируемый объект предоставляет элементы путем перебора этого итерируемого объекта, но пропускает все начальные элементы, для которых test(element) возвращает true. Если все элементы удовлетворяют test , то результирующий итерируемый объект пустой, иначе он перебирает оставшиеся элементы в их исходном порядке, начиная с первого элемента, для которого test(element) возвращает false.
Пример:
final numbers = <int>[1, 2, 3, 5, 6, 7]; var result = numbers.skipWhile((x) => x < 5); // (5, 6, 7) result = numbers.skipWhile((x) => x != 3); // (3, 5, 6, 7) result = numbers.skipWhile((x) => x != 4); // () result = numbers.skipWhile((x) => x.isOdd); // (2, 3, 5, 6, 7)
Реализация
Iterable<String> skipWhile(bool test(String value)) =>
readClasses().skipWhile(test);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-svg/AttributeClassSet/skipWhile.html