Истифодаи функсияҳои тир дар JavaScript
Функсияҳои тир дар ҳолати коллбэк бартарии махсус доранд.
Биёед ба мисол нигарем, ки дар ин ҳолат чӣ қадар рамз
содда карда мешавад. Барои мисол бигзор мо функсияи
зеринро дошта бошем filter:
function filter(arr, callback) {
let res = [];
for (let elem of arr) {
if ( callback(elem) === true ) {
res.push(elem);
}
}
return res;
}
Ин функсияро фарохонем, ба он коллбэк гузаронем:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem % 2 === 0) {
return true;
} else {
return false;
}
});
Ҳоло биёед функсияи худро содда кунем.
Аввал биёед сохтори if-ро халос кунем ва шартро
танҳо тавассути оператори === нависем:
let result = filter([1, 2, 3, 4, 5], function(elem) {
return elem % 2 == 0;
});
Акнун функсияи одӣро бо функсияи тир иваз кунем:
let result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);
Функсияи зерин бо коллбэк дода шудааст:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem > 0) {
return true;
} else {
return false;
}
});
Коллбэкро тавассути функсияи тир содда кунед.