Metoden indexOf
Metoden indexOf utfører søk etter et element
i en array. I den første parameteren
spesifiserer vi elementet som skal søkes etter.
Metoden returnerer indeksen til det første funnet elementet,
eller -1 hvis elementet ikke finnes.
Den andre valgfrie parameteren til metoden
angir posisjonen som søket skal
starte fra.
Syntaks
array.indexOf(element, [startposisjon]);
Eksempel
La oss finne posisjonen til den første treeren i arrayen:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Resultatet av kjøring av koden:
2
Eksempel
La oss nå anta at elementet som sjekkes ikke er i arrayen:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Resultatet av kjøring av koden:
-1
Eksempel
La oss starte søket fra en angitt posisjon:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Resultatet av kjøring av koden:
5
Vanlig feil
Noen ganger brukes metoden for å sjekke om et element finnes i en array. I dette tilfellet er det lett å gjøre en feil hvis sjekken utføres på følgende måte:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
En slik sjekk vil fungere for
alle posisjoner bortsett fra null - fordi
den tolkes som false.
Riktig måte å sjekke tilstedeværelsen av et element på er som følger:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Se også
-
metoden
includes,
som sjekker om et element finnes i en array -
metoden
lastIndexOf,
som søker etter elementer fra slutten -
metoden
at,
som returnerer array-elementet ved dets indeks -
metoden
match,
som søker etter treff i en streng -
metoden
search,
som utfører søk