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ė
masyvas.indexOf(elementas, [nuo kurios pradėti]);
Pavyzdys
Raskime pirmojo trejeto poziciją masyve:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Kodo vykdymo rezultatas:
2
Pavyzdys
Tegul dabar tikrinamo elemento nėra masyve:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Kodo vykdymo rezultatas:
-1
Pavyzdys
Pradėkime paiešką nuo nurodytos pozicijos:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Kodo vykdymo rezultatas:
5
Dažna klaida
Kartais metodas naudojamas norint patikrinti ar elementas yra masyve. Šiuo atveju lengva suklysti, jei patikrinimas atliekamas tokiu būdu:
if (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:
if (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ą