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

การคำนวณ Partial Sum ของอาร์เรย์ซ้อนใน JavaScript

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของอาร์เรย์ตัวเลข สำหรับแต่ละอาร์เรย์ย่อย ให้สร้างอาร์เรย์ Partial Sum (ค่าที่ตำแหน่ง i คือผลรวมของสมาชิกตั้งแต่ต้นจนถึง i)

ตัวอย่าง: อินพุต [[1,1,1,-1], [1,-1,-1], [1,1]] ผลลัพธ์ [[1,2,3,2], [1,0,-1], [1,2]]

ตัวอย่างโค้ด

const arr = [ [1, 1, 1, -1], [1, -1, -1], [1, 1] ];

const partialSum = (arr = []) => {
  const res = [];
  arr.forEach(sub => {
    let accu = 0;
    const nestedArr = [];
    sub.forEach(n => {
      accu += n;
      nestedArr.push(accu);
    });
    res.push(nestedArr);
  });
  return res;
};

console.log(partialSum(arr));

ผลลัพธ์

ค่าที่แสดงในคอนโซลจะเป็นดังนี้:

[ [ 1, 2, 3, 2 ], [ 1, 0, -1 ], [ 1, 2 ] ]