Callback функције у JavaScript-у
Функције се могу прослеђивати као параметри другим функцијама. Такве функције-параметри називају се колбекови (callback). Погледајмо рад са њима на примеру.
Претпоставимо да желимо да направимо функцију која ће првим параметром примати низ, а другим - колбек, који ће се примењивати на сваки елемент низа:
function each(arr, callback) {
// овде је неки код
}
Напишимо имплементацију наше функције:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // pozivamo callback funkciju
}
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 направите великим
први симбол сваког стринга.