Applicazione del Passaggio di Funzioni come Parametro in JavaScript

Creiamo una funzione che prenderà come primo parametro un array, e come secondo parametro - una funzione. La funzione passata dovrà essere applicata a ogni elemento dell'array:

javascriptfunction test(arr, func) {
  // restituiremo l'array modificato
}

Implementiamola:

javascriptfunction test(arr, func) {
  // Avviamo il ciclo:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // applichiamo la funzione a ogni elemento
  }
  
  return arr; // restituiamo l'array modificato
}

Applichiamo la nostra funzione a un array qualsiasi:

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

// Trasformiamo un array di numeri in un array dei loro quadrati:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

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

Rendiamo la chiamata alla nostra funzione più elegante (così è più comune):

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

// Rendiamo il codice più elegante:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

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

Senza guardare il mio codice, implementate la stessa funzione test autonomamente.

Задание 2

Chiamate la funzione test che avete creato, passandole come parametro un array con numeri. Fate in modo che la funzione restituisca un array con i cubi di questi numeri.