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