РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
280 of 723 menu

Метод lastWhere

Метод lastWhere класса Iterable возвращает последний элемент коллекции, который удовлетворяет заданному условию. В первый параметр мы передаем функцию-предикат, которая принимает элемент и возвращает true или false. Метод перебирает элементы и запоминает последний, для которого предикат вернул true. Если ни один элемент не подошел, возвращается значение второго необязательного параметра orElse. Если же параметр orElse не задан, выбрасывается исключение.

Синтаксис

iterable.lastWhere(test, [orElse])

Пример

Давайте найдем последний элемент списка, который больше 2:

void main() { List<int> numbers = [1, 2, 3, 4, 5]; int res = numbers.lastWhere((n) => n > 2); print(res); }

Результат выполнения кода:

5

Пример

Давайте найдем последний элемент списка, который начинается с буквы c:

void main() { List<String> letters = ['a', 'b', 'c', 'd', 'e']; String res = letters.lastWhere((s) => s == 'c'); print(res); }

Результат выполнения кода:

"c"

Пример

Если ни один элемент не удовлетворяет условию, можно вернуть значение по умолчанию через второй параметр orElse:

void main() { List<int> numbers = [1, 2, 3, 4, 5]; int res = numbers.lastWhere((n) => n > 10, orElse: () => -1); print(res); }

Результат выполнения кода:

-1

Смотрите также

  • метод firstWhere,
    который возвращает первый подходящий элемент
  • метод where,
    который возвращает все подходящие элементы
  • метод singleWhere,
    который возвращает единственный подходящий элемент
  • свойство last,
    которое возвращает последний элемент коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить