takeWhile method
-
bool test(
- E value
override
Возвращает ленивую последовательность начальных элементов, удовлетворяющих test.
Фильтрация выполняется лениво. Каждый новый итератор возвращённой последовательности начинает перебирать элементы this.
Элементы можно получить, перебирая iterator, пока не будет найден элемент, для которого test(element) имеет значение false. В этот момент возвращённая последовательность останавливается (её moveNext() возвращает false).
Пример:
final numbers = <int>[1, 2, 3, 5, 6, 7]; var result = numbers.takeWhile((x) => x < 5); // (1, 2, 3) result = numbers.takeWhile((x) => x != 3); // (1, 2) result = numbers.takeWhile((x) => x != 4); // (1, 2, 3, 5, 6, 7) result = numbers.takeWhile((x) => x.isOdd); // (1)
Реализация
Iterable<E> takeWhile(bool test(E value)) {
return TakeWhileIterable<E>(this, test);
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/IterableMixin/takeWhile.html