Метод takeWhile
-
bool test(
- E value
override
Возвращает ленивую итерацию по начальным элементам, удовлетворяющим test.
Фильтрация выполняется лениво. Каждый новый итератор возвращаемой итерации начинает итерацию по элементам this.
Элементы могут быть вычислены путем перебора итератора, пока не будет найден элемент, для которого 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.18.5/dart-collection/IterableMixin/takeWhile.html