Array.prototype.findIndex
Возвращает индекс первого элемента, подходящего под условие.
Доступно с: ES2015
Синтаксис
array.findIndex(callbackFn)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| callbackFn | Function | Функция-условие: получает элемент, индекс и массив и возвращает true для подходящего. |
Возвращаемое значение
numberИндекс первого подходящего элемента или -1.
Примеры
Индекс первого отрицательного числа:
console.log([4, 7, -2, 9].findIndex((n) => n < 0));Результат:
2Обновление объекта в массиве по id:
const users = [{ id: 1, name: 'Anna' }, { id: 2, name: 'Oleg' }];
const index = users.findIndex((user) => user.id === 2);
users[index] = { ...users[index], name: 'Oleg P.' };
console.log(users[1].name);Результат:
Oleg P.Примечания
Если элемент не найден, результат -1. Проверяйте его: users[-1] вернёт undefined, а не ошибку.
См. также
- Array.prototype.find — Возвращает первый элемент, прошедший проверку.
- Array.prototype.indexOf — Ищет значение в массиве и возвращает его индекс.
- Array.prototype.findLastIndex — Возвращает индекс последнего элемента, подходящего под условие.
Вопросы и ответы по теме
В учебнике
- Поиск в массиве — Как найти элемент в массиве JavaScript: includes, indexOf, find, findIndex, some и every.