Виталий Котов
Как работает метод indexOf() - JavaScript
Автор
Метод indexOf()
возвращает первый индекс, по которому данный элемент может быть найден в массиве или -1, если он не найден.
Пример
let languages = ["Java", "JavaScript", "Python", "JavaScript"];
// // получаем индекс первого вхождения "JavaScript"
let index = languages.indexOf("JavaScript");
console.log(index);
// Вывод в консоль: 1
Синтаксис indexOf()
Синтаксис метода indexOf()
следующий:
arr.indexOf(searchElement, fromIndex);
Где arr
- это массив.
Параметры indexOf()
Метод indexOf()
принимает:
searchElement
- элемент, который нужно найти в массиве.
fromIndex
(необязательно) - индекс, с которого следует начать поиск. По умолчанию он равен 0.
Возвращаемое значение indexOf()
- Возвращает первый индекс элемента в массиве, если он присутствует хотя бы один раз.
- Возвращает -1, если элемент не найден в массиве.
Примечание:
indexOf()
сравнивает элементsearchElement
с элементами массива, используя строгое равенство (аналогично операторуtriple-equals
или===
).
Примеры
Пример 1: Использование метода indexOf()
var priceList = [10, 8, 2, 31, 10, 1, 65];
// indexOf() возвращает индекс первого появления
var index1 = priceList.indexOf(31);
console.log(index1); // 3
var index2 = priceList.indexOf(10);
console.log(index2); // 0
// второй аргумент указывает начальный индекс поиска
var index3 = priceList.indexOf(10, 1);
console.log(index3); // 4
// indexOf() возвращает -1, если ничего не найдено
var index4 = priceList.indexOf(69.5);
console.log(index4); // -1
Вывод в консоль:
3
0
4
-1
Примечания:
- Если
fromIndex >= array.length
, поиск в массиве не производится и возвращается -1.- Если
fromIndex < 0
, индекс вычисляется в обратном порядке. Например, -1 обозначает индекс последнего элемента и так далее.
Пример 2. Поиск всех появлений элемента
function findAllIndex(array, element) {
indices = [];
var currentIndex = array.indexOf(element);
while (currentIndex != -1) {
indices.push(currentIndex);
currentIndex = array.indexOf(element, currentIndex + 1);
}
return indices;
}
var priceList = [10, 8, 2, 31, 10, 1, 65, 10];
var occurance1 = findAllIndex(priceList, 10);
console.log(occurance1); // [ 0, 4, 7 ]
var occurance2 = findAllIndex(priceList, 8);
console.log(occurance2); // [ 1 ]
var occurance3 = findAllIndex(priceList, 9);
console.log(occurance3); // []
Вывод в консоль:
[ 0, 4, 7 ]
[ 1 ]
[]
Пример 3: Поиск существования элемента, иначе его добавление
function checkOrAdd(array, element) {
if (array.indexOf(element) === -1) {
array.push(element);
console.log("Элемент не найден! Обновляем массив.");
} else {
console.log(element + " уже находится в массиве.");
}
}
var parts = ["Monitor", "Keyboard", "Mouse", "Speaker"];
checkOrAdd(parts, "CPU"); // Элемент не найден! Обновляем массив
console.log(parts); // [ 'Monitor', 'Keyboard', 'Mouse', 'Speaker', 'CPU' ]
checkOrAdd(parts, "Mouse"); // Mouse уже находится в массиве
Вывод в консоль:
Элемент не найден! Обновляем массив.
[ 'Monitor', 'Keyboard', 'Mouse', 'Speaker', 'CPU' ]
Mouse уже находится в массиве.
Все гайды по Javascript
Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие load в JavaScriptСобытие mouseout в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
.textContent в JavaScript.style в JavaScript.setProperty() в JavaScript.scrollTo() в JavaScript.scrollIntoView() в JavaScript.scrollBy() в JavaScript.removeProperty() в JavaScript.removeEventListener() в JavaScript.querySelectorAll() в JavaScript.querySelector() в JavaScript.outerHTML в JavaScript.innerText в JavaScriptв JavaScript.hidden в JavaScript.getPropertyValue() в JavaScript.getElementsByTagName() в JavaScript.getElementsByClassName() в JavaScript.getAttribute() в JavaScript.focus() в JavaScriptЭлемент в JavaScript.dataset в JavaScript.closest() в JavaScript.classList в JavaScript.blur() в JavaScript.addEventListener() в JavaScript
Объект WeakSet в JavaScriptОбъект TypedArray в JavaScriptОбъект SharedArrayBuffer в JavaScriptОбъект Set в JavaScriptОбъект в JavaScriptОбъект Map в JavaScriptfunction в JavaScriptОбъект DataView в JavaScriptОбъект WeakMap в JavaScriptОбъект Atomics в JavaScriptМассивы в JavaScriptОбъект ArrayBuffer в JavaScript
window.print() в JavaScriptwindow.open() в JavaScriptwindow.navigator в JavaScriptwindow.location в JavaScriptwindow.history в JavaScriptURLSearchParams в JavaScriptsetTimeout() в JavaScriptsetInterval() в JavaScriptsessionStorage в JavaScriptqueueMicrotask() в JavaScriptprompt() в JavaScriptPerformance в JavaScriptwindow.matchMedia в JavaScriptlocalStorage в JavaScriptGeolocation API в JavaScriptFormData в JavaScriptfetch() в JavaScriptDOM в JavaScriptconsole.log() в JavaScriptconfirm() в JavaScriptclearTimeout() в JavaScriptclearInterval() в JavaScriptBOM в JavaScriptalert() в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript