Spec-Zone.ru › Dart 1

dart:collection

Метод lastWhere

E lastWhere(bool test(E value), { E orElse() })

Возвращает последний элемент, удовлетворяющий заданному предикату test.

Итерируемый объект, который может напрямую обращаться к своим элементам, может проверять свои элементы в любом порядке (например, список начинает проверку с последнего элемента и затем перемещается к началу списка). Реализация по умолчанию итерирует элементы в порядке итерации, проверяет test(element) для каждого и, наконец, возвращает последний, который соответствовал.

Если ни один элемент не удовлетворяет test, возвращается результат вызова функции orElse. Если orElse опущено, оно по умолчанию генерирует StateError.

Исходный код

E lastWhere(bool test(E value), {E orElse()}) {
  E result = null;
  bool foundMatching = false;
  for (E element in this) {
    if (test(element)) {
      result = element;
      foundMatching = true;
    }
  }
  if (foundMatching) return result;
  if (orElse != null) return orElse();
  throw IterableElementError.noElement();
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-collection/IterableMixin/lastWhere.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API