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;
}
});
Коллбэкти жебел функция аркылуу жөнөкөйлөтүңүз.