Zastosowanie przekazywania funkcji jako parametru w JavaScript

Stwórzmy funkcję, która jako pierwszy parametr będzie przyjmować tablicę, a jako drugi parametr - funkcję. Przekazana funkcja powinna zostać zastosowana do każdego elementu tablicy:

javascriptfunction test(arr, func) {
  // zwrócimy zmodyfikowaną tablicę
}

Zaimplementujmy:

javascriptfunction test(arr, func) {
  // Uruchamiamy pętlę:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // stosujemy funkcję do każdego elementu
  }
  
  return arr; // zwracamy zmodyfikowaną tablicę
}

Zastosujmy naszą funkcję do jakiejś tablicy:

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

// Przekształćmy tablicę liczb w tablicę ich kwadratów:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

console.log(result); // wypisze [1, 4, 9]

Sformatujmy wywołanie naszej funkcji bardziej elegancko (tak jest bardziej przyjęte):

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

// Sformatujmy kod bardziej elegancko:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

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

Bez podglądania w mój kod zaimplementuj taką samą funkcję test samodzielnie.

Задание 2

Wywołaj stworzoną przez siebie funkcję test, przekazując jej jako parametr tablicę z liczbami. Spraw, aby funkcja zwróciła tablicę z sześcianami tych liczb.