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ă

javascriptarray.indexOf(element, [de unde să începem]);

Exemplu

Să găsim poziția primului 3 în array:

javascriptlet arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);

console.log(res);

Rezultatul executării codului:

javascript2

Exemplu

Să presupunem că acum elementul căutat nu se află în array:

javascriptlet arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);

console.log(res);

Rezultatul executării codului:

javascript-1

Exemplu

Să începem căutarea de la o poziție specificată:

javascriptlet arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);

console.log(res);

Rezultatul executării codului:

javascript5

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:

javascriptif (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:

javascriptif (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