Применение передачи функции параметром в 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, передав ей параметром массив с числами. Сделайте так, чтобы функция вернула массив с кубами этих чисел.