Az indexOf metódus
Az indexOf metódus elemeket keres
egy tömbben. Az első paraméterben
adjuk meg a keresendő elemet.
A metódus visszaadja az első megtalált elem sorszámát,
vagy -1-et, ha nincs ilyen elem.
A második, opcionális paraméter a
keresés kezdő pozícióját határozza meg.
Szintaxis
tömb.indexOf(elem, [honnan kezdje]);
Példa
Keressük meg az első hármas pozícióját a tömbben:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
A kód végrehajtásának eredménye:
2
Példa
Most legyen a keresett elem nincs a tömbben:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
A kód végrehajtásának eredménye:
-1
Példa
Kezdjük a keresést egy megadott pozícióból:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
A kód végrehajtásának eredménye:
5
Gyakori hiba
A metódust néha egy elem tömbben való jelenlétének ellenőrzésére használják. Ebben az esetben könnyű hibázni, ha az ellenőrzést a következő módon végezzük:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Ez az ellenőrzés minden pozícióra
működni fog, kivéve a nulladik - mert
azt false-ként értelmezi.
Helyesen egy elem jelenlétét a következő módon kell ellenőrizni:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Lásd még
-
a
includesmetódus,
ami egy elem jelenlétét ellenőrzi a tömbben -
a
lastIndexOfmetódus,
ami a végétől kezdve keres -
a
atmetódus,
ami egy tömb elemet ad vissza az indexe alapján -
a
matchmetódus,
ami egyezéseket keres egy sztringben -
a
searchmetódus,
ami keresést végez