Ужыванне перадачы функцыі параметрам у 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, перадаўшы ёй параметрам масіў з лікамі. Зрабіце так, каб функцыя вярнула масіў з кубамі гэтых лікаў.