Spec-Zone.ru › Dart 2

dart:collection

Метод takeWhile

Iterable<E> takeWhile(
  1. bool test(
    1. E value
    )
)
override

Возвращает ленивую последовательность начальных элементов, удовлетворяющих test.

Фильтрация выполняется лениво. Каждый новый итератор возвращаемой последовательности начинает перебирать элементы this.

Элементы можно вычислять, проходя по итератору, пока не будет найден элемент, для которого test(element) ложно. В этот момент возвращаемая последовательность останавливается (её 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/SetMixin/takeWhile.html

Spec-Zone.ru

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