如何在JavaScript?中计算数组的每个元素及其先前元素的总和;

如何在JavaScript?中计算数组的每个元素及其先前元素的总和;,javascript,Javascript,例如,如果我有一个数组[1,2,3,4],我想计算1+2、1+2+3和1+2+3+4并返回一个新数组。我该怎么做 let arr = [1, 2, 3, 4]; doSomething(arr); output... newArr = [1, 3, 6, 10]; 可以对数组进行切片以获取所需元素,并减少求和的值 方法: 为了得到一个新的和数组 返回数组的一部分 用于添加所有值 var数组=[1,2,3,4], sums=array.map((μ,i,a)=>a.slice(0,i

例如,如果我有一个数组[1,2,3,4],我想计算1+2、1+2+3和1+2+3+4并返回一个新数组。我该怎么做

let arr = [1, 2, 3, 4];

doSomething(arr);

output...

newArr = [1, 3, 6, 10];

可以对数组进行切片以获取所需元素,并减少求和的值

方法:

  • 为了得到一个新的和数组

  • 返回数组的一部分

  • 用于添加所有值

var数组=[1,2,3,4],
sums=array.map((μ,i,a)=>a.slice(0,i+1)。reduce((a,b)=>a+b));
控制台日志(总和)添加此函数

function dosomething (arr) {
  var i;
  if(i === 1 || i === 0) return arr; 
  for(i = 1; i<arr.length; i++){
    arr[i] += arr[i-1];
  }
  return arr;
}
功能剂量仪(arr){
var i;
如果(i==1 | | i==0)返回arr;

对于(i=1;i,您可以尝试使用array.reduce

让arr=[1,2,3,4];
设newArr=[];
arr.reduce((prev,current)=>{newArr.push(prev+current);返回prev+current},0);
console.log(newArr);
一些优雅的方法:

函数getArrSum(arr) { 如果(!arr.length)返回[]; 设tmp=[arr[0]]; 对于(设i=1;i
var a=[1,2,3,4];
var b=[];

对于(i=0;i首先,我想分享一个链接,展示什么应该是一个好问题。

关于阵列的计算是:

函数getArray(数字) { 如果(!number.length)返回[]; 让数组=[number[0]]; for(设i=1;iconsole.log(getArray(array));
到目前为止您尝试了什么?这将是一个很好的练习来练习您的技能
 var a = [1,2,3,4];
 var b=[];

for(i=0;i<a.length;i++)
{   

  var sum = 0;

  for(j=0;j<=i+1;j++)
  {
    if(a[j] != null)
        sum=sum+a[j];
  }    
  b[i]=sum;
}