skipWhile 方法

Iterable<E> skipWhile(
  1. bool test(
    1. E value
    )
)

创建一个在满足 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 value)) => SkipWhileIterable<E>(this, test);