where方法
- bool f(
- E element
override
创建一个新的懒加载的Iterable,其中包含所有满足谓词test
的元素。
匹配的元素在返回的迭代器中的顺序与它们在迭代器中的顺序相同。
此方法返回映射元素的视图。只要返回的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);