Spec-Zone.ru › Dart 2

dart:collection

Метод takeWhile

Iterable<E> takeWhile(
  1. bool test(
    1. 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/SetMixin/takeWhile.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API