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