Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Recursion - ผลรวมของอาร์เรย์ซ้อน (Nested Array) - JavaScript

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ซ้อนของตัวเลขและคืนค่าผลรวมของตัวเลขทั้งหมดในอาร์เรย์

ตัวอย่างอาร์เรย์ซ้อน:

const arr = [2, 5, 7, [
  4, 5, 4, 7, [
    5, 7, 5
  ], 5
], 2];

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

const arr = [2, 5, 7, [
  4, 5, 4, 7, [
    5, 7, 5
  ], 5
], 2];

const calculateSum = (arr, query) => {
  let count = 0;
  for(let i = 0; i < arr.length; i++){
    if(Array.isArray(arr[i])){
      count += calculateSum(arr[i], query);
      continue;
    };
    count += arr[i];
  };
  return count;
};

console.log(calculateSum(arr));

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

58