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

Метод lastIndexWhere

Метод lastIndexWhere класса List возвращает индекс последнего элемента списка, который удовлетворяет переданному условию. Поиск выполняется с конца списка к началу. В первый параметр мы передаем функцию-предикат, которая принимает элемент списка и возвращает true или false. Во второй необязательный параметр мы передаем индекс, с которого нужно начать поиск (по умолчанию поиск начинается с последнего элемента). Если ни один элемент не удовлетворяет условию, метод возвращает -1.

Синтаксис

list.lastIndexWhere(test, [start])

Пример

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

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

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

5

Пример

Давайте найдем индекс последнего элемента, который равен строке 'c':

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

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

2

Пример

Давайте передадим второй параметр и начнем поиск с индекса 2:

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

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

-1

Пример

Давайте попробуем найти элемент, которого нет в списке:

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

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

-1

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

  • метод indexWhere,
    который возвращает индекс первого элемента по условию
  • метод lastIndexOf,
    который возвращает индекс последнего вхождения элемента
  • метод indexOf,
    который возвращает индекс первого вхождения элемента
  • класс List,
    который представляет список элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить