Metodas indexOf

Metodas indexOf atlieka elemento paiešką masyve. Pirmajame parametre nurodome ieškomą elementą. Metodas grąžina pirmo rasto elemento numerį, arba -1, jei tokio elemento nėra. Antrasis neprivalomas metodo parametras nurodo poziciją, nuo kurios reikia pradėti paiešką.

Sintaksė

javascriptmasyvas.indexOf(elementas, [nuo kurios pradėti]);

Pavyzdys

Raskime pirmojo trejeto poziciją masyve:

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

console.log(res);

Kodo vykdymo rezultatas:

javascript2

Pavyzdys

Tegul dabar tikrinamo elemento nėra masyve:

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

console.log(res);

Kodo vykdymo rezultatas:

javascript-1

Pavyzdys

Pradėkime paiešką nuo nurodytos pozicijos:

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

console.log(res);

Kodo vykdymo rezultatas:

javascript5

Dažna klaida

Kartais metodas naudojamas norint patikrinti ar elementas yra masyve. Šiuo atveju lengva suklysti, jei patikrinimas atliekamas tokiu būdu:

javascriptif (arr.indexOf(3)) {
  console.log(true);
} else {
  console.log(false);
}

Ši patikra veiks visiems pozicijoms, išskyrus nulį - nes ji interpretuojama kaip false.

Teisingai elemento buvimą reikia tikrinti taip:

javascriptif (arr.indexOf(3) !== -1) {
  console.log(true);
} else {
  console.log(false);
}

Taip pat žiūrėkite

  • metodas includes,
    kuris tikrina ar elementas yra masyve
  • metodas lastIndexOf,
    kuris ieško elementų nuo galo
  • metodas at,
    kuris grąžina masyvo elementą pagal jo indeksą
  • metodas match,
    kuris ieško atitikimų eilutėje
  • metodas search,
    kuris atlieka paiešką