where 方法

Iterable<E> where(
  1. bool test(
    1. E element
    )
)

创建一个新的惰性 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 test(E element)) => WhereIterable<E>(this, test);