Callback функције у JavaScript-у

Функције се могу прослеђивати као параметри другим функцијама. Такве функције-параметри називају се колбекови (callback). Погледајмо рад са њима на примеру.

Претпоставимо да желимо да направимо функцију која ће првим параметром примати низ, а другим - колбек, који ће се примењивати на сваки елемент низа:

javascriptfunction each(arr, callback) {
  // овде је неки код
}

Напишимо имплементацију наше функције:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // pozivamo callback funkciju
  }
  
  return result;
}

Наша функција each је универзална. То значи да можемо прослеђивати у њу различите колбекове, извршавајући различите операције над низовима. При томе код наше функције остаће непромењен - мењаће се само прослеђени колбекови.

За пример, користећу нашу функцију квадрирајмо сваки елемент неког низа. За то проследимо одговарајући колбек као параметар:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 2;
});

console.log(result);

А сада кубирајмо елементе низа. За то ћемо као параметар проследити већ други колбек, који извршава ову операцију:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 3;
});

console.log(result);
Задание 1

Дат је низ са бројевима. Помоћу креиране функције each увећајте сваки елемент два пута.

Задание 2

Дат је низ са стринговима. Помоћу креиране функције each обрните симболе сваког стринга у супротном редоследу.

Задание 3

Дат је низ са стринговима. Помоћу креиране функције each направите великим први симбол сваког стринга.