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