Aplicación de paso de funciones como parámetros en JavaScript

Hagamos una función que tomará un array como primer parámetro y una función como segundo parámetro. La función pasada deberá aplicarse a cada elemento del array:

javascriptfunction test(arr, func) {
  // devolver el array modificado
}

Implementemos:

javascriptfunction test(arr, func) {
  // Iniciamos el ciclo:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // aplicamos la función a cada elemento
  }
  
  return arr; // devolvemos el array modificado
}

Apliquemos nuestra función a algún array:

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

// Transformemos el array de números en un array de sus cuadrados:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

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

Hagamos la llamada a nuestra función más elegante (así es más común):

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

// Hagamos el código más elegante:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

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

Sin mirar mi código, implemente usted mismo la misma función test.

Задание 2

Llame a la función test que usted creó, pasándole como parámetro un array con números. Haga que la función devuelva un array con los cubos de esos números.