在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
]
猜你喜欢