indexOf-metodi
Metodi indexOf suorittaa elementin haun
taulukossa. Ensimmäisessä parametrissa
määritämme haettavan elementin.
Metodi palauttaa ensimmäisen löydetyn elementin numeron,
tai -1, jos tällaista elementtiä ei ole.
Toinen valinnainen parametri metodissa
asettaa position, josta haun tulisi
alkaa.
Syntaksi
taulukko.indexOf(elementti, [mistä aloittaa]);
Esimerkki
Etsitään ensimmäisen kolmikon positio taulukossa:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Koodin suorituksen tulos:
2
Esimerkki
Oletetaan, että tarkistettavaa elementtiä ei ole taulukossa:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Koodin suorituksen tulos:
-1
Esimerkki
Aloitetaan haku annetusta positiosta:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Koodin suorituksen tulos:
5
Yleinen virhe
Joskus metodia käytetään tarkistamaan elementin olemassaoloa taulukossa. Tässä tapauksessa on helppo tehdä virhe, jos tarkistus suoritetaan seuraavalla tavalla:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Tämä tarkistus toimii kaikille
positioille paitsi nollalle - sillä
se tulkitaan false:ksi.
Oikea tapa tarkistaa elementin olemassaolo on seuraava:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Katso myös
-
metodi
includes,
joka tarkistaa elementin olemassaolon taulukossa -
metodi
lastIndexOf,
joka etsii elementtejä lopusta alkaen -
metodi
at,
joka palauttaa taulukon elementin sen indeksin perusteella -
metodi
match,
joka etsii vastineita merkkijonossa -
metodi
search,
joka suorittaa haun