Array.prototype.indexOf
Ищет значение в массиве и возвращает его индекс.
Доступно с: ES5
Синтаксис
array.indexOf(searchElement, fromIndex)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| searchElement | any | Значение, которое нужно найти. |
| fromIndex | number | Необязательный. С какой позиции искать. По умолчанию — с начала. |
Возвращаемое значение
numberИндекс первого найденного элемента или -1.
Примеры
Позиция элемента:
const colors = ['red', 'green', 'blue'];
console.log(colors.indexOf('green'));
console.log(colors.indexOf('pink'));Результат:
1
-1Удаление элемента по значению:
const colors = ['red', 'green', 'blue'];
const index = colors.indexOf('green');
if (index !== -1) {
colors.splice(index, 1);
}
console.log(colors.join(', '));Результат:
red, blueПримечания
Сравнение строгое, как ===, поэтому [NaN].indexOf(NaN) даёт -1, а объекты находятся только по ссылке. Для поиска объекта по полю используйте findIndex().
См. также
- Array.prototype.includes — Проверяет, есть ли значение в массиве.
- Array.prototype.findIndex — Возвращает индекс первого элемента, подходящего под условие.
- Array.prototype.lastIndexOf — Ищет значение с конца массива и возвращает его индекс.
Вопросы и ответы по теме
В учебнике
- Поиск в массиве — Как найти элемент в массиве JavaScript: includes, indexOf, find, findIndex, some и every.