Равиши filter
Равиши filter имкон медиҳад, ки
элементҳои массивро филтр карда,
фақат элементҳои мувофиқи шарити муайянро боқӣ гузоред.
Равиш дар параметр функсияеро мегирад, ки
барои ҳар як элементи массив иҷро мешавад.
Равиш дар натиҷаи худ массивӣ нав бармегардонад,
ки фақат он элементҳо дохил мешаванд,
ки барои онҳо функсияи додашуда true бармегардонад.
Ба функсия се параметр фиристодан мумкин аст. Агар ин параметрҳо мавҷуда бошанд (онҳо маҷбури нестанд), пас ба якум худкор элементи массив меафтад, ба дуюм рақами он дар массив (индекс), ва ба сеюм - худи массив меафтад.
Синтаксис
javascriptlet массиви нав = массив.filter(function(элемент, индекс, массив) {
код
return true ё false
});
Намуна
Биёед массивро филтр кунем, танҳо рақамҳои мусбатро дар он боқӣ гузорем:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Натиҷаи иҷрои код:
javascript[5, 1, 1, 3, 4]
Намуна
Кодро кӯтоҳ кунем, бо истифода аз функсияи тир:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Натиҷаи иҷрои код:
javascript[5, 1, 1, 3, 4]
Намуна
Кодро кӯтоҳ кунем, бо истифода аз кӯтоҳкардани амалҳои мантиқӣ:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Натиҷаи иҷрои код:
javascript[5, 1, 1, 3, 4]
Намуна
Кодро кӯтоҳ кунем, бо истифода аз хусусиятҳои функсияҳои тир:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Натиҷаи иҷрои код:
javascript[5, 1, 1, 3, 4]
Намуна
Дар сурати зарурӣ ба параметри сеюм метавон худи массивро дод:
javascriptlet res = arr.filter(function(elem, index, arr) {
дар ин ҷо массиви arr дастрас хоҳад буд
});