สมมติว่าเราควรเขียนฟังก์ชันที่ใช้อาร์เรย์ที่ซ้อนกันของ Numbers และส่งกลับผลรวมของตัวเลขทั้งหมด เราจำเป็นต้องทำเช่นนี้โดยไม่ใช้วิธี Array.prototype.flat()
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
const arr = [
5,
7,
[ 4, [2], 8, [1,3], 2 ],
[ 9, [] ],
1,
8
];
const findNestedSum = (arr) => {
let sum = 0;
for(let len = 0; len < arr.length; len++){
sum += Array.isArray(arr[len]) ? findNestedSum(arr[len]) :
arr[len];
};
return sum;
};
console.log(findNestedSum(arr)); ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
50