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

javascriptmassiiv.indexOf(element, [kust alustada]);

Näide

Leiame massiivist esimese kolmiku positsiooni:

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

console.log(res);

Koodi täitmise tulemus:

javascript2

Näide

Olgu nüüd kontrollitavat elementi massiivis pole:

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

console.log(res);

Koodi täitmise tulemus:

javascript-1

Näide

Alustame otsimist määratud positsioonist:

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

console.log(res);

Koodi täitmise tulemus:

javascript5

Sage viga

Mõnikord kasutatakse meetodit elemendi olemasolu kontrollimiseks massiivis. Sel juhul on lihtne teha viga, kui teostada kontroll järgmisel viisil:

javascriptif (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:

javascriptif (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