метод where
-
bool f(
- E element
переопределение
Возвращает новый ленивый Iterable со всеми элементами, удовлетворяющими предикату test.
Совпадающие элементы в возвращаемом итерируемом объекте располагаются в том же порядке, что и в 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);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/SetMixin/where.html