Metoden indexOf
Metoden indexOf udfører søgning efter et element
i et array. I den første parameter
angiver vi elementet, der skal søges efter.
Metoden returnerer nummeret på det første fundne element,
eller -1, hvis sådant et element ikke findes.
Den anden valgfrie parameter for metoden
angiver positionen, hvorfra søgningen skal
begynde.
Syntaks
array.indexOf(element, [startposition]);
Eksempel
Lad os finde positionen for det første tal 3 i arrayet:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Resultatet af kodeudførelsen:
2
Eksempel
Lad os nu sige, at det efterspurgte element ikke er i arrayet:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Resultatet af kodeudførelsen:
-1
Eksempel
Lad os starte søgningen fra en given position:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Resultatet af kodeudførelsen:
5
Almindelig fejl
Nogle gange bruges metoden til at kontrollere tilstedeværelsen af et element i et array. I dette tilfælde er det nemt at lave en fejl, hvis kontrollen udføres på følgende måde:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Denne kontrol vil fungere for
alle positioner undtagen nul-positionen - da
den fortolkes som false.
Korrekt måde at kontrollere tilstedeværelsen af et element på er følgende:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Se også
-
metoden
includes,
som kontrollerer tilstedeværelsen af et element i et array -
metoden
lastIndexOf,
som søger efter elementer fra slutningen -
metoden
at,
som returnerer et array-element baseret på dets indeks -
metoden
match,
som søger efter matches i en streng -
metoden
search,
som udfører søgning