如何修改JavaScript数组累加程序使输出为数组格式?
解决方案
你只需要新增一个数组来存储每一步的累加结果,循环结束后再输出这个数组即可,修改后的代码如下:
let arr = [1, 2, 3, 4, 5]; let sum = 0; // 新增空数组用于存储每一步的累加结果 let result = []; for (let i = 0; i <= arr.length - 1; i++) { sum += arr[i]; // 等价于 sum = sum + arr[i],写法更简洁 result.push(sum); // 将当前累加值存入结果数组 } console.log(result); // 循环结束后输出完整的结果数组
改动说明
- 原代码每次循环直接打印单个累加值,导致输出为多行独立数字;
- 新增
result数组后,通过push方法把每一步的累加结果存入数组; - 循环完成后,
result数组已包含所有预期值,直接打印就能得到[1,3,6,10,15]的格式。
可选简洁写法
如果想更精简代码,可以使用reduce方法一次性完成累加和数组构建:
let arr = [1, 2, 3, 4, 5]; let result = arr.reduce((acc, curr) => { const currentSum = (acc.at(-1) || 0) + curr; acc.push(currentSum); return acc; }, []); console.log(result);
内容的提问来源于stack exchange,提问作者Karishma Singh
相关产品推荐
相关产品推荐

