Метод 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,
который представляет список элементов