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

วิธีสร้างรายการผลรวมบางส่วน (partial sums) ด้วย forEach ใน JavaScript

เรามีอาร์เรย์ตัวเลขแบบนี้

const arr = [1, 1, 5, 2, -4, 6, 10];

เราต้องเขียนฟังก์ชันที่คืนอาร์เรย์ใหม่ ขนาดเท่าเดิม แตแต่ละสมาชิกเป็นผลรวมของสมาชิกทั้งหมดจนถึงจุดนั้น

ดังนั้น ผลลัพธ์ควรเป็น

const output = [1, 2, 7, 9, 5, 11, 21];

เขียนฟังก์ชัน partialSum() โค้ดเต็ม

ตัวอย่าง

const arr = [1, 1, 5, 2, -4, 6, 10];
const partialSum = (arr) => {
  const output = [];
  arr.forEach((num, index) => {
    if(index === 0){
      output[index] = num;
    }else{
      output[index] = num + output[index - 1];
    }
  });
  return output;
};
console.log(partialSum(arr));

เราวนลูปผ่านอาร์เรย์ และกำหนดสมาชิกของอาร์เรย์ output ค่าใหม่ทุกครั้ง ค่าเป็นผลรวมของตัวเลขปัจจุบันและตัวก่อนหน้า

ผลลัพธ์

ผลลัพธ์ของโค้ดนี้จะเป็น

[ 1, 2, 7, 9, 5, 11, 21 ]