Вебсправочник
Справочник JavaScript

Array.findIndex(): индекс первого совпадения

Метод findIndex возвращает позицию первого элемента массива, удовлетворяющего условию.

Назначение

Метод findIndex возвращает позицию первого элемента массива, удовлетворяющего условию.

Как это работает

Индексы начинаются с нуля. При отсутствии совпадения возвращается -1, а не undefined. Условие получает элемент, индекс и исходный массив, но обычно достаточно первого аргумента.

Пример

const sizes=[8,12,16];
console.assert(sizes.findIndex(n=>n>=12)===1);
console.assert(sizes.findIndex(n=>n>20)===-1);
console.assert(sizes.findIndex(n=>n===8)===0);

Что должно получиться

Три проверки дают соответственно 1, -1 и 0. Эти значения показывают, почему проверка if(index) не подходит для определения найденного элемента.

Граница применения и частая ошибка

Нельзя проверять результат как простое логическое значение: индекс 0 ложный, а -1 истинный. Сравнивайте явно с -1 перед использованием позиции.

Самостоятельная проверка

Сделайте совпадающим самый первый элемент, затем уберите все совпадения. Обе ситуации должны различаться; перед удалением по индексу обязательно проверьте -1.

JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.