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

การใช้ partial sum บนอาร์เรย์ใน JavaScript


ปัญหา

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

ตัวอย่าง

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

const arr = [5, 6, 1, 3, 8, 11];
const partialSum = (arr = []) => {
  let sum = arr.reduce((acc, val) => acc + val);
  const res = [];
  let x = 0;
  if(arr.length === 0){
    return [0];
  }
  for(let i = 0; i <= arr.length; i += 1) {
    res.push(sum);
    x = arr[i];
    sum -= x;
  };
  return res;
};
console.log(partialSum(arr));

ผลลัพธ์

[ 34, 29, 23, 22, 19, 11, 0 ]