метод where
-
bool test(
- E element
override
Возвращает новый ленивый 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 test(E element)) => WhereIterable<E>(this, test);
© 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/ListMixin/where.html