Meetod indexOf
Meetod indexOf teostab elemendi otsimist
massiivist. Esimeses parameetris
määrame otsitava elemendi.
Meetod tagastab esimese leitud elemendi numbri,
või -1, kui sellist elementi pole.
Teine valikuline meetodi parameeter
määrab positsiooni, millest tuleks
otsimist alustada.
Süntaks
massiiv.indexOf(element, [kust alustada]);
Näide
Leiame massiivist esimese kolmiku positsiooni:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Koodi täitmise tulemus:
2
Näide
Olgu nüüd kontrollitavat elementi massiivis pole:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Koodi täitmise tulemus:
-1
Näide
Alustame otsimist määratud positsioonist:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Koodi täitmise tulemus:
5
Sage viga
Mõnikord kasutatakse meetodit elemendi olemasolu kontrollimiseks massiivis. Sel juhul on lihtne teha viga, kui teostada kontroll järgmisel viisil:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Selline kontroll töötab kõikide
positsioonide jaoks, välja arvatud nullpositsioon - sest
seda tõlgendatakse kui false.
Õigesti tuleks elemendi olemasolu kontrollida järgmisel viisil:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Vaata ka
-
meetod
includes,
mis kontrollib elemendi olemasolu massiivis -
meetod
lastIndexOf,
mis otsib elemente lõpust -
meetod
at,
mis tagastab massiivi elemendi selle indeksi järgi -
meetod
match,
mis otsib vastavusi stringis -
meetod
search,
mis teostab otsingut