เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของอาร์เรย์ที่ซ้อนกันของ Numbers และค่าเท็จบางส่วน (รวมถึง 0) และสตริงบางตัวเช่นกัน ฟังก์ชันควรส่งคืนผลคูณของค่าตัวเลขที่มีอยู่ในอาร์เรย์ที่ซ้อนกัน
หากอาร์เรย์มี 0 อยู่บ้าง เราก็ไม่ควรสนใจมันเช่นกัน มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
const arr = [1, 5, 2, null, [
2, 5, null, undefined, false, 5, [
1, 3, false, 0, 2
], 4, 2, false
], 4, 6, 0
];
const recursiveMultiplication = arr => {
let prod = 1;
for(let i = 0; i < arr.length; i++){
if(Array.isArray(arr[i])){
prod *= recursiveMultiplication(arr[i]);
}else{
prod *= arr[i] || 1;
};
};
return prod;
};
console.log(recursiveMultiplication(arr)); ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -
576000