Метод where
-
bool test(
- E element
Возвращает новый ленивый 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)) => 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.18.5/dart-core/Iterable/where.html