Primena prosleđivanja funkcije kao parametra u JavaScript-u

Hajde da napravimo funkciju koja će kao prvi parametar primatiti niz, a kao drugi parametar - funkciju. Proslijeđena funkcija će se primeniti na svaki element niza:

javascriptfunction test(arr, func) {
  // vratićemo izmenjeni niz
}

Implementirajmo:

javascriptfunction test(arr, func) {
  // Pokrećemo petlju:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // primenjujemo funkciju na svaki element
  }
  
  return arr; // vraćamo izmenjeni niz
}

Primenimo našu funkciju na neki niz:

javascriptfunction test(arr, func) {
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]);
  }
  
  return arr;
}

// Transformišemo niz brojeva u niz njihovih kvadrata:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

console.log(result); // ispisaće [1, 4, 9]

Hajde da prikaz poziva naše funkcije učinimo elegantnijim (ovako je uobičajenije):

javascriptfunction test(arr, func) {
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]);
  }
  
  return arr;
}

// Učinimo kod elegantnijim:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

console.log(result); // ispisaće [1, 4, 9]
Задание 1

Ne zagledavajući se u moj kod, sami implementirajte takvu funkciju test.

Задание 2

Pozovite kreiranu funkciju test, prosledivši joj kao parametar niz sa brojevima. Učinite tako da funkcija vrati niz sa kubovima tih brojeva.