where方法

Iterable<E> where(
  1. bool f(
    1. 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);