skipWhile 方法
- bool test(
- E element
override
创建一个在满足 test
条件时跳过前导元素的 Iterable
。
过滤是惰性的。返回的可迭代对象的每个新 Iterator 都会遍历 this
的所有元素。
返回的可迭代对象通过遍历此可迭代对象来提供元素,但会跳过所有初始元素,这些元素在 test(element)
返回 true 的情况下。如果所有元素都满足 test
,则结果可迭代对象为空,否则它按原始顺序遍历剩余元素,从第一个使 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 element)) {
return SkipWhileIterable<E>(this, test);
}