Metode indexOf
Metode indexOf veic elementa meklēšanu
masīvā. Pirmajā parametrā
norādam meklējamo elementu.
Metode atgriež pirmā atrastā elementa numuru,
vai -1, ja tāds elements nav.
Otrais neobligātais metodes parametrs
iestata pozīciju, no kuras jāsāk
meklēšana.
Sintakse
masīvs.indexOf(elements, [no kurienes sākt]);
Piemērs
Meklēsim pirmās trīs pozīciju masīvā:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Koda izpildes rezultāts:
2
Piemērs
Tagad pārbaudāmais elements nav masīvā:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Koda izpildes rezultāts:
-1
Piemērs
Sāksim meklēšanu no noteiktas pozīcijas:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Koda izpildes rezultāts:
5
Bieža kļūda
Dažreiz metodi izmanto, lai pārbaudītu elementa esamību masīvā. Šajā gadījumā ir viegli pieļaut kļūdu, ja pārbaudi veic šādi:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Šāda pārbaude darbosies visām
pozīcijām, izņemot nulles - jo
tā tiek interpretēta kā false.
Pareizi ir pārbaudīt elementa esamību šādi:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Skatiet arī
-
metode
includes,
kura pārbauda elementa esamību masīvā -
metode
lastIndexOf,
kura meklē elementus no beigām -
metode
at,
kura atgriež masīva elementu pēc tā indeksa -
metode
match,
kura meklē atbilstības virknē -
metode
search,
kura veic meklēšanu