Ứng dụng truyền hàm làm tham số trong JavaScript

Hãy tạo một hàm, sẽ nhận một mảng làm tham số, và tham số thứ hai - là một hàm. Hàm được truyền sẽ phải được áp dụng cho từng phần tử của mảng:

javascriptfunction test(arr, func) {
  // trả về mảng đã thay đổi
}

Hãy triển khai:

javascriptfunction test(arr, func) {
  // Khởi chạy vòng lặp:
  for (let i = 0; i < arr.length; i++) {
    arr[i] = func(arr[i]); // áp dụng hàm cho từng phần tử
  }
  
  return arr; // trả về mảng đã thay đổi
}

Hãy áp dụng hàm của chúng ta cho một mảng bất kỳ:

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

// Chuyển đổi mảng số thành mảng bình phương của chúng:
let result = test(
  [1, 2, 3],
  function(num) {return num * num;}
);

console.log(result); // sẽ in ra [1, 4, 9]

Hãy trình bày lời gọi hàm của chúng ta một cách thanh lịch hơn (cách này thường được sử dụng hơn):

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

// Trình bày mã một cách thanh lịch hơn:
let result = test([1, 2, 3], function(num) {
  return num * num;
});

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

Không nhìn vào mã của tôi, hãy tự triển khai hàm test tương tự.

Задание 2

Gọi hàm test mà bạn đã tạo, truyền cho nó một mảng số làm tham số. Hãy làm sao để hàm trả về một mảng chứa lũy thừa bậc ba của các số đó.