takeWhile方法
- bool test(
- 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);
}