javascript - 如何获取连续数组元素的总和

标签 javascript angular typescript

我有一个包含 4 个元素的数组。我想要一个新的数组,它计算数组元素的总和,其中操作数的数量一次增加一个。

例如我有一个数组 [1000, 2000, 2000, 4000] 。 结果数组应该类似于

[ 1000, 1000 + 2000, 1000 + 2000 + 2000, 1000 + 2000 + 2000 + 4000]

即 [1000, 3000, 5000, 9000]

var array = [1000, 2000, 2000, 4000];

var newArray = array.map((e,i) => e)

console.log(newArray);

有什么办法可以使用 map 功能来做到这一点吗?或者还有其他方式吗?

最佳答案

    const array = [1000, 2000, 2000, 4000];
    const result = array.reduce((acc,item, index) => { 
      if (index === 0) { acc.push(item); }
      else {
        acc.push(acc[index-1] + item);
      }
      return acc;
    } ,[]);
    console.log(result);

关于javascript - 如何获取连续数组元素的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55108383/

相关文章:

typescript 如何读取 2 层深度的 json 数据而不出现 eslint 警告

javascript - 使用 javascript 将坐标字符串转换为多边形坐标数组

mysql - 如何向 Express 应用程序发出 PUT 请求

Angular 4 Typescript - 构造随后 7 天的日期数组

angularjs - 在 Angular 2 中发送帖子时出错

angular - 重复的 RxJS 导入警告

javascript - 即使我关闭弹出层,弹出页面上的视频仍在播放

javascript - 固定页脚和页眉时的 HTML 布局动态内容高度

java - 如何用Java模拟$.ajax数组POST请求

javascript - 如何从子组件更改 <body> 标签样式?