Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะรวมองค์ประกอบทั้งหมดในอาร์เรย์ที่ซ้อนกันได้อย่างไร? JavaScript


สมมติว่าเราควรเขียนฟังก์ชันที่ใช้อาร์เรย์ที่ซ้อนกันของ 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