метод takeWhile
-
bool test(
- E element
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 element)) {
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/ListMixin/takeWhile.html