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