where 方法
- bool f(
- E element
override
创建一个新的延迟生成的 Iterable,包含所有满足谓词《test》的元素。
匹配元素在返回的 iterable 中的顺序与在 iterator 中的顺序相同。
此方法返回映射元素的一个视图。只要返回的 Iterable 没有被迭代过,提供的函数《test》就不会被调用。迭代不会缓存结果,因此对返回的 Iterable 进行多次迭代可能会对该元素上多次调用提供的函数《test》。
示例
final numbers = <int>[1, 2, 3, 5, 6, 7];
var result = numbers.where((x) => x < 5); // (1, 2, 3)
result = numbers.where((x) => x > 5); // (6, 7)
result = numbers.where((x) => x.isEven); // (2, 6)
实现
Iterable<E> where(bool f(E element)) => WhereIterable<E>(this, f);