从特定索引范围求和数组元素

庄严的弥赛亚:

我已经尝试了很多方法来解决这个问题,但是我根本无法弄清楚如何使其工作。一般而言,我对编码非常陌生,因此可能缺乏理解!简而言之,我有一个包含一定数量元素的数组,并且我希望能够总结从特定索引开始到特定索引结束的连续元素。

const array = [1,2,3,4,5,6]

我希望能够对索引1和3求和,在这种情况下将为2 + 4 = 6。

有没有一种方法可以使用array.filter()或仅使用我基于求和的函数array.indexof()

hev1;

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

let start = 1, end = 3, sum = 0;
for(let i = start; i <= end; i++)
     sum += array[i];

slice并且reduce也可用于:

let sum = array.slice(start, end+1).reduce((a,b)=>a+b,0);

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

let sum = array[1]+array[3];

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

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

reduce 也可以使用。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章