Метод takeWhile
-
bool test(
- E value
Возвращает ленивое итерируемое множество начальных элементов, удовлетворяющих 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-core/Iterable/takeWhile.html