skipWhile 方法
- bool test(
- E value
override
创建一个迭代器,在其测试条件满足时跳过前导元素。
过滤是惰性的。每次从返回的迭代器迭代时,都会遍历此对象的全部元素。
返回的迭代器通过迭代此迭代器提供元素,但跳过了所有初始元素,其中test(element)
返回 true。如果所有元素都满足测试,则结果迭代器为空,否则它按照原始顺序迭代剩余的元素,从第一个使得 test(element)
返回 false
的元素开始。
示例
final numbers = <int>[1, 2, 3, 5, 6, 7];
var result = numbers.skipWhile((x) => x < 5); // (5, 6, 7)
result = numbers.skipWhile((x) => x != 3); // (3, 5, 6, 7)
result = numbers.skipWhile((x) => x != 4); // ()
result = numbers.skipWhile((x) => x.isOdd); // (2, 3, 5, 6, 7)
实现
Iterable<E> skipWhile(bool test(E value)) {
return SkipWhileIterable<E>(this, test);
}