Примена на пренесување на функција како параметар во JavaScript

Да направиме функција која како параметар ќе прима низа, а вториот параметар - функција. Преносената функција треба да се примени на секој елемент од низата:

javascriptfunction test(arr, func) {
  // ќе ја вратиме променетата низа
}

Да ја имплементираме:

javascriptfunction test(arr, func) {
  // Го стартуваме циклусот:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // ја применуваме функцијата на секој елемент
  }
  
  return arr; // ја враќаме променетата низа
}

Да ја примениме нашата функција на некоја низа:

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

// Ја трансформираме низата со броеви во низа од нивните квадрати:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

console.log(result); // ќе испринта [1, 4, 9]

Да го оформме повикот на нашата функција поелегантно (ова е поприфатено):

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

// Да го оформиме кодот поелегантно:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

console.log(result); // ќе испринта [1, 4, 9]
Задание 1

Без да гледате во мојот код, имплементирајте ја истата функција test самостојно.

Задание 2

Повикајте ја креираната функција test, пренесувајќи ѝ како параметар низа со броеви. Направете така што функцијата ќе врати низа со коцки од тие броеви.