Усули indexOf

Усули indexOf ҷустуҷӯи элемент дар массивро анҷом медиҳад. Дар параметри аввал элементеро, ки бояд ҷустуҷӯ карда шавад, муайян мекунем. Усул шумораи аввалин элементи ёфташударо бармегардонад, ё -1, агар чунин элемент вуҷуд надошта бошад. Параметри дуввуми ихтиёрӣ (optional) усул мавқееро муайян мекунад, ки аз он бояд ҷустуҷӯ оғоз карда шавад.

Синтаксис

javascriptмассив.indexOf(элемент, [аз куҷо оғоз кардан]);

Намуна

Биёед мавқеи аввалин секаиро дар массив ёбем:

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

console.log(res);

Натиҷаи иҷрои код:

javascript2

Намуна

Бигзор ҳоло элементи тафтишшаванда дар массив вуҷуд надошта бошад:

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

console.log(res);

Натиҷаи иҷрои код:

javascript-1

Намуна

Ҷустуҷӯро аз мавқеи муайяншуда оғоз кунем:

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

console.log(res);

Натиҷаи иҷрои код:

javascript5

Хатогии сермаъмул

Гоҳо усулро барои тафтиши мавҷудияти элемент дар массив истифода мебаранд. Дар ин сурат осон аст, ки хатогӣ кунед, агар тафтиш ба тариқи зерин анҷо дода шавад:

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

Ин тафтиш барои ҳамаи мавқеъҳо, ба истиснои сифрӣ - кор мекунад, зеро он ҳамчун false тафсир карда мешавад.

Дуруст мавҷудияти элементро ба тариқи зерин тафтиш кардан лозим аст:

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

Ҳамчунин нигаред

  • усули includes,
    ки мавҷудияти элементро дар массив тафтиш мекунад
  • усули lastIndexOf,
    ки элементҳоро аз охир меҷӯяд
  • усули at,
    ки элементи массивро аз рӯи индекси он бармегардонад
  • усули match,
    ки мувофиқатҳоро дар сатр меҷӯяд
  • усули search,
    ки ҷустуҷӯро иҷро мекунад