เรามีอาร์เรย์ของตัวเลขเช่นนี้ -
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 ]