对特定索引范围内的数组元素求和

Sol*_*iah 7 javascript node.js discord discord.js

为此我尝试过很多事情,但我就是不知道如何让它发挥作用。一般来说,我对编码很陌生,所以可能缺乏理解!简而言之,我有一个包含一定数量元素的数组,并且我希望能够对从特定索引开始到特定索引结束的连续元素求和。

const array = [1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

我希望能够对索引 1 和 3 求和,在本例中为 2+4 =6。

有没有办法使用array.filter()或仅使用我根据 求和的函数array.indexof()

hev*_*ev1 8

如果要对两个索引之间的所有元素求和,可以使用基于简单索引的 for 循环。

let start = 1, end = 3, sum = 0;
for(let i = start; i <= end; i++)
     sum += array[i];
Run Code Online (Sandbox Code Playgroud)

slice并且reduce还可以使用:

let sum = array.slice(start, end+1).reduce((a,b)=>a+b,0);
Run Code Online (Sandbox Code Playgroud)

如果您只需要两个特定索引处的元素之和,则可以使用括号表示法访问元素。

let sum = array[1]+array[3];
Run Code Online (Sandbox Code Playgroud)

如果您有一个要求和的索引数组,则可以像这样循环遍历每个索引:

let indexes = [1, 3], sum = 0;
for(let index of indexes){
    sum += array[index];
}
Run Code Online (Sandbox Code Playgroud)

reduce也可以使用。

let indexes = [1, 3];
let sum = indexes.reduce((acc, cur)=>acc+array[cur],0);
Run Code Online (Sandbox Code Playgroud)