Aplicação de Passagem de Função como Parâmetro em JavaScript

Vamos criar uma função que receberá um array como primeiro parâmetro e uma função como segundo parâmetro. A função passada será aplicada a cada elemento do array:

javascriptfunction test(arr, func) {
  // retornaremos o array modificado
}

Vamos implementar:

javascriptfunction test(arr, func) {
  // Iniciamos o loop:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // aplicamos a função a cada elemento
  }
  
  return arr; // retornamos o array modificado
}

Vamos aplicar nossa função a algum array:

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

// Vamos transformar o array de números em um array de seus quadrados:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

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

Vamos formatar a chamada da nossa função de forma mais elegante (é a maneira mais comum):

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

// Vamos formatar o código de forma mais elegante:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

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

Sem olhar o meu código, implemente a mesma função test por conta própria.

Задание 2

Chame a função test que você criou, passando para ela um array com números como parâmetro. Faça com que a função retorne um array com os cubos desses números.