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/IterableMixin/takeWhile.html

Spec-Zone.ru

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