Метад indexOf
Метад indexOf ажыццяўляе пошук элемента
ў масіве. У першым параметры
паказваем элемент для пошуку.
Метад вяртае нумар першага знойдзенага элемента,
альбо -1, калі такога элемента няма.
Другі неабавязковы параметр метаду
задае пазіцыю, з якой следуе
пачынаць пошук.
Сінтаксіс
масіў.indexOf(элемент, [адкуль пачынаць]);
Прыклад
Давайце знойдзем пазіцыю першай тройкі ў масіве:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Вынік выканання кода:
2
Прыклад
Хай цяпер правяраемага элемента няма ў масіве:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Вынік выканання кода:
-1
Прыклад
Пачнем пошук з зададзенай пазіцыі:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Вынік выканання кода:
5
Частая памылка
Часта метад выкарыстоўваюць для праверкі наяўнасці элемента ў масіве. У гэтым выпадку лёгка дапусціць памылку, калі выканаць праверку наступным чынам:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Такая праверка будзе працаваць для
ўсіх пазіцый, акрамя нулявой - бо
яна трактуецца як false.
Правільна правяраць наяўнасць элемента наступным чынам:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Глядзіце таксама
-
метад
includes,
які правярае наяўнасць элемента ў масіве -
метад
lastIndexOf,
які шукае элементы з канца -
метад
at,
які вяртае элемент масіва па яго індэксе -
метад
match,
які шукае супадзенні ў радку -
метад
search,
які выконвае пошук