takeWhile方法

Iterable<E> takeWhile(
  1. bool test(
    1. E element
    )
)
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 element)) {
  return TakeWhileIterable<E>(this, test);
}