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

แปลงอาร์เรย์ตัวเลขเป็นอาร์เรย์ผลรวมสะสมใน 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));

เราวนลูปอาร์เรย์และกำหนดค่าอาร์เรย์ผลลัพธ์ทีละตัว คือผลรวมของตัวเลขปัจจุบันและตัวก่อนหน้า

ผลลัพธ์ในคอนโซล:

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