Ứ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:
function test(arr, func) {
// trả về mảng đã thay đổi
}
Hãy triển khai:
function 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ỳ:
function 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):
function 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]
Không nhìn vào mã của tôi, hãy tự triển khai hàm
test tương tự.
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ố đó.