Metoda indexOf

Metoda indexOf kryen kërkim të një elementi në një array. Në parametrin e parë specifikojmë elementin për t'u kërkuar. Metoda kthen numrin e elementit të parë të gjetur, ose -1, nëse nuk ka element të tillë. Parametri i dytë jo i detyrueshëm i metodës vendos pozicionin nga i cili duhet të fillojë kërkimi.

Sintaksa

javascriptarray.indexOf(element, [ku të fillojë]);

Shembull

Le të gjejmë pozicionin e treshes së parë në array:

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

console.log(res);

Rezultati i ekzekutimit të kodit:

javascript2

Shembull

Le të themi tani që elementi i kontrolluar nuk është në array:

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

console.log(res);

Rezultati i ekzekutimit të kodit:

javascript-1

Shembull

Le të fillojmë kërkimin nga një pozicion i caktuar:

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

console.log(res);

Rezultati i ekzekutimit të kodit:

javascript5

Gabim i Zakonshëm

Ndonjëherë metoda përdoret për të kontrolluar praninë e një elementi në array. Në këtë rast është e lehtë të bësh një gabim nëse kontrolli kryhet në mënyrën e mëposhtme:

javascriptif (arr.indexOf(3)) {
  console.log(true);
} else {
  console.log(false);
}

Ky kontroll do të funksionojë për të gjitha pozicionet, përveç pozicionit zero - sepse ai interpretohet si false.

Është e saktë të kontrollosh praninë e një elementi në mënyrën e mëposhtme:

javascriptif (arr.indexOf(3) !== -1) {
  console.log(true);
} else {
  console.log(false);
}

Shihni gjithashtu

  • metoda includes,
    që kontrollon praninë e një elementi në array
  • metoda lastIndexOf,
    që kërkon elemente nga fundi
  • metoda at,
    që kthen një element array sipas indeksit të tij
  • metoda match,
    që kërkon përputhje në string
  • metoda search,
    që kryen kërkim