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