where 方法
- bool test(
- 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 test(E element)) => WhereIterable<E>(this, test);