JavaScript-тегі функция-коллбэкілер
Функцияларды басқа функцияларға параметр ретінде беруге болады. Мұндай функция-параметрлер коллбэк (callback) деп аталады. Олармен жұмыс істеуді мысал арқылы қарастырайық.
Біз бірінші параметр ретінде массив қабылдайтын, ал екінші параметр ретінде коллбэк қабылдайтын функция жасағымыз келеді делік, ол массивтің әрбір элементіне қолданылады:
function each(arr, callback) {
// осында бір код
}
Біздің функциямыздың реализациясын жазайық:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // функция-коллбэкті шақырамыз
}
return result;
}
Біздің each функциямыз - әмбебап.
Бұл біз оған әртүрлі коллбэктерді беріп,
массивтермен әртүрлі операциялар орындай аламыз дегенді білдіреді.
Бұл ретте біздің функциямыздың коды өзгеріссіз қалады -
тек берілетін коллбэктер ғана өзгереді.
Мысал ретінде біздің функциямызды қолданып, қандай да бір массивтің әрбір элементін квадратқа шығарайық. Ол үшін сәйкес коллбэкті параметр ретінде берейік:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Енді массив элементтерін текшеге шығарайық. Ол үшін параметр ретінде бұл операцияны орындайтын басқа коллбэкті берейік:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Сандар массиві берілген. Біз жасаған
each функциямызды қолданып, әрбір
элементті екі есеге үлкейтіңіз.
Жолдар массиві берілген. Біз жасаған
each функциямызды қолданып, әрбір жолдың
таңбаларын кері ретпен аударыңыз.
Жолдар массиві берілген. Біз жасаған
each функциямызды қолданып, әрбір жолдың
бірінші таңбасын бас әріп етіңіз.