การใช้การส่งฟังก์ชันเป็นพารามิเตอร์ใน JavaScript
มาสร้างฟังก์ชันที่รับพารามิเตอร์แรกเป็นอาร์เรย์ และพารามิเตอร์ที่สองเป็นฟังก์ชัน ฟังก์ชันที่ส่งเข้ามาจะต้องถูกนำไปใช้กับทุกองค์ประกอบของอาร์เรย์:
function test(arr, func) {
// คืนค่าอาร์เรย์ที่ถูกเปลี่ยนแปลง
}
มาเริ่มเขียนโค้ด:
function test(arr, func) {
// เริ่มลูป:
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]); // นำฟังก์ชันไปใช้กับแต่ละองค์ประกอบ
}
return arr; // คืนค่าอาร์เรย์ที่ถูกเปลี่ยนแปลง
}
ลองนำฟังก์ชันของเราไปใช้กับอาร์เรย์บางตัว:
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// แปลงอาร์เรย์ของตัวเลขเป็นอาร์เรย์ของกำลังสอง:
let result = test(
[1, 2, 3],
function(num) {return num * num;}
);
console.log(result); // แสดงผล [1, 4, 9]
มาจัดรูปแบบการเรียกฟังก์ชันของเราให้สวยงามกว่าเดิม (เป็นที่นิยมมากกว่า):
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// จัดรูปแบบโค้ดให้สวยงาม:
let result = test([1, 2, 3], function(num) {
return num * num;
});
console.log(result); // แสดงผล [1, 4, 9]
ลองเขียนฟังก์ชัน test ที่เหมือนกันนี้ด้วยตัวเอง โดยไม่แอบดูโค้ดของฉัน
เรียกใช้ฟังก์ชัน test ที่คุณสร้างขึ้น โดยส่งอาร์เรย์ของตัวเลขเป็นพารามิเตอร์ ทำให้ฟังก์ชันคืนค่าอาร์เรย์ของลูกบาศก์ของตัวเลขเหล่านี้