Metod indexOf
Metod indexOf vrši pretragu elementa
u nizu. U prvom parametru
navedite element za pretragu.
Metod vraća indeks prvog pronađenog elementa,
ili -1 ako takav element ne postoji.
Drugi opcioni parametar metoda
određuje poziciju sa koje treba
započeti pretragu.
Sintaksa
niz.indexOf(element, [odakle početi]);
Primer
Hajde da nađemo poziciju prve trojke u nizu:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Rezultat izvršenja koda:
2
Primer
Neka sada element koji proveravamo ne postoji u nizu:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Rezultat izvršenja koda:
-1
Primer
Počnimo pretragu sa zadate pozicije:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Rezultat izvršenja koda:
5
Česta greška
Ponekad se metod koristi za proveru prisustva elementa u nizu. U ovom slučaju je lako napraviti grešku ako se provera izvrši na sledeći način:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Ovakva provera će raditi za
sve pozicije osim nulte - jer
se ona tumači kao false.
Ispravno je proveriti prisustvo elementa na sledeći način:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Pogledajte takođe
-
metod
includes,
koji proverava prisustvo elementa u nizu -
metod
lastIndexOf,
koji traži elemente od kraja -
metod
at,
koji vraća element niza prema njegovom indeksu -
metod
match,
koji traži podudaranja u stringu -
metod
search,
koji izvršava pretragu