95 of 264 menu

Метод 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,
    който извършва търсене
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне