Spec-Zone.ru › Dart 2

dart:core

Метод takeWhile

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

Spec-Zone.ru

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