Metoda indexOf
Metoda indexOf realizează căutarea unui element
într-un array. În primul parametru
specificăm elementul de căutat.
Metoda returnează poziția primului element găsit,
sau -1, dacă un astfel de element nu există.
Al doilea parametru opțional al metodei
stabilește poziția de la care trebuie
începută căutarea.
Sintaxă
array.indexOf(element, [de unde să începem]);
Exemplu
Să găsim poziția primului 3 în array:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Rezultatul executării codului:
2
Exemplu
Să presupunem că acum elementul căutat nu se află în array:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Rezultatul executării codului:
-1
Exemplu
Să începem căutarea de la o poziție specificată:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Rezultatul executării codului:
5
Eroare frecventă
Uneori metoda este folosită pentru a verifica prezența unui element în array. În acest caz este ușor să faci o greșeală dacă verificarea este efectuată în felul următor:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Această verificare va funcționa pentru
toate pozițiile, cu excepția poziției zero - deoarece
aceasta este interpretată ca false.
Este corect să verifici prezența unui element în felul următor:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Vedeți și
-
metoda
includes,
care verifică prezența unui element în array -
metoda
lastIndexOf,
care caută elemente de la sfârșit -
metoda
at,
care returnează un element al array-ului după indexul său -
metoda
match,
care caută potriviri într-un șir de caractere -
metoda
search,
care execută o căutare