Metóda indexOf
Metóda indexOf vykonáva vyhľadávanie prvku
v poli. V prvom parametri
uvádzame prvok na vyhľadanie.
Metóda vráti číslo prvého nájdeného prvku,
alebo -1, ak taký prvok neexistuje.
Druhý voliteľný parameter metódy
nastavuje pozíciu, od ktorej by sa malo
začať vyhľadávanie.
Syntax
pole.indexOf(prvok, [odkiaľ začať]);
Príklad
Nájdime pozíciu prvej trojky v poli:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Výsledok vykonania kódu:
2
Príklad
Nech teraz kontrolovaný prvok nie je v poli:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Výsledok vykonania kódu:
-1
Príklad
Začnime vyhľadávanie od zadanej pozície:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Výsledok vykonania kódu:
5
Častá chyba
Niekedy sa metóda používa na kontrolu prítomnosti prvku v poli. V tomto prípade je ľahké urobiť chybu, ak sa kontrola vykoná nasledovným spôsobom:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Takáto kontrola bude fungovať pre
všetky pozície okrem nultej - pretože
sa interpretuje ako false.
Správne je kontrolovať prítomnosť prvku nasledovným spôsobom:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Pozrite tiež
-
metóda
includes,
ktorá kontroluje prítomnosť prvku v poli -
metóda
lastIndexOf,
ktorá hľadá prvky od konca -
metóda
at,
ktorá vráti prvok poľa podľa jeho indexu -
metóda
match,
ktorá hľadá zhody v reťazci -
metóda
search,
ktorá vykonáva vyhľadávanie