Метод indexOf
Методът indexOf извършва търсене на елемент
в масив. В първия параметър
посочваме елемента за търсене.
Методът връща номера на първия намерен елемент,
или -1, ако такъв елемент няма.
Вторият незадължителен параметър на метода
задава позицията, от която трябва да
започне търсенето.
Синтаксис
масив.indexOf(елемент, [откъде да започне]);
Пример
Нека намерим позицията на първата тройка в масива:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Резултат от изпълнението на кода:
2
Пример
Нека сега проверяваният елемент да липсва в масива:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Резултат от изпълнението на кода:
-1
Пример
Нека започнем търсенето от зададена позиция:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Резултат от изпълнението на кода:
5
Честа грешка
Понякога методът се използва за проверка на наличието на елемент в масив. В този случай е лесно да се допусне грешка, ако проверката се извърши по следния начин:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Такава проверка ще работи за
всички позиции, освен за нулевата - тъй като
тя се тълкува като false.
Правилно е наличието на елемент да се проверява по следния начин:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Вижте също
-
метод
includes,
който проверява наличието на елемент в масив -
метод
lastIndexOf,
който търси елементи от края -
метод
at,
който връща елемент от масив по неговия индекс -
метод
match,
който търси съвпадения в низ -
метод
search,
който извършва търсене