De indexOf methode
De methode indexOf voert een zoekopdracht uit naar een element
in een array. In de eerste parameter
geven we het te zoeken element op.
De methode retourneert de index van het eerste gevonden element,
of -1 als het element niet aanwezig is.
De tweede optionele parameter van de methode
bepaalt de positie vanaf waar de
zoekopdracht moet beginnen.
Syntaxis
array.indexOf(element, [startpositie]);
Voorbeeld
Laten we de positie van het eerste cijfer 3 in de array vinden:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Resultaat van de code:
2
Voorbeeld
Stel dat het gezochte element nu niet in de array voorkomt:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Resultaat van de code:
-1
Voorbeeld
Laten we zoeken vanaf een opgegeven positie:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Resultaat van de code:
5
Veelgemaakte fout
Soms wordt de methode gebruikt om te controleren of een element in een array aanwezig is. In dit geval is het gemakkelijk om een fout te maken als de controle als volgt wordt uitgevoerd:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Een dergelijke controle werkt voor
alle posities, behalve voor index nul - omdat
die wordt geïnterpreteerd als false.
De juiste manier om de aanwezigheid van een element te controleren is als volgt:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Zie ook
-
de methode
includes,
die controleert of een element in een array aanwezig is -
de methode
lastIndexOf,
die zoekt vanaf het einde -
de methode
at,
die een array-element retourneert op basis van zijn index -
de methode
match,
die zoekt naar overeenkomsten in een string -
de methode
search,
die een zoekopdracht uitvoert