Metoda indexOf
Metoda indexOf wykonuje wyszukiwanie elementu
w tablicy. W pierwszym parametrze
określamy element do wyszukania.
Metoda zwraca indeks pierwszego znalezionego elementu,
lub -1, jeśli taki element nie istnieje.
Drugi, opcjonalny parametr metody,
określa pozycję, od której należy
rozpocząć wyszukiwanie.
Składnia
tablica.indexOf(element, [gdzie rozpocząć]);
Przykład
Znajdźmy pozycję pierwszej trójki w tablicy:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Wynik wykonania kodu:
2
Przykład
Załóżmy teraz, że sprawdzanego elementu nie ma w tablicy:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Wynik wykonania kodu:
-1
Przykład
Zacznijmy wyszukiwanie od zadanej pozycji:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Wynik wykonania kodu:
5
Częsty błąd
Czasami metodę używa się do sprawdzenia obecności elementu w tablicy. W tym przypadku łatwo popełnić błąd, jeśli sprawdzenie wykonamy w następujący sposób:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Takie sprawdzenie będzie działać dla
wszystkich pozycji, oprócz zerowej - ponieważ
jest ona interpretowana jako false.
Poprawnie sprawdza się obecność elementu następująco:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Zobacz też
-
metoda
includes,
która sprawdza obecność elementu w tablicy -
metoda
lastIndexOf,
która wyszukuje elementy od końca -
metoda
at,
która zwraca element tablicy na podstawie jego indeksu -
metoda
match,
która wyszukuje dopasowania w ciągu znaków -
metoda
search,
która wykonuje wyszukiwanie