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

javascriptniz.indexOf(element, [odakle početi]);

Primer

Hajde da nađemo poziciju prve trojke u nizu:

javascriptlet arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);

console.log(res);

Rezultat izvršenja koda:

javascript2

Primer

Neka sada element koji proveravamo ne postoji u nizu:

javascriptlet arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);

console.log(res);

Rezultat izvršenja koda:

javascript-1

Primer

Počnimo pretragu sa zadate pozicije:

javascriptlet arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);

console.log(res);

Rezultat izvršenja koda:

javascript5

Č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:

javascriptif (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:

javascriptif (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