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

Метод indexWhere

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

Синтаксис

list.indexWhere(bool test(E element), [int start = 0])

Пример

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

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

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

2

Пример

Давайте найдем индекс первого элемента, который равен 9. Так как такого элемента нет, метод вернет -1:

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

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

-1

Пример

Давайте начнем поиск не с начала списка, а с третьего индекса:

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

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

3

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

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