เรามีอาร์เรย์ตัวเลขแบบนี้:
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));เราวนลูปอาร์เรย์และกำหนดค่าอาร์เรย์ผลลัพธ์ทีละตัว คือผลรวมของตัวเลขปัจจุบันและตัวก่อนหน้า
ผลลัพธ์ในคอนโซล:
[ 1, 2, 7, 9, 5, 11, 21 ]