我已经尝试了很多方法来解决这个问题,但是我根本无法弄清楚如何使其工作。一般而言,我对编码非常陌生,因此可能缺乏理解!简而言之,我有一个包含一定数量元素的数组,并且我希望能够总结从特定索引开始到特定索引结束的连续元素。
const array = [1,2,3,4,5,6]
我希望能够对索引1和3求和,在这种情况下将为2 + 4 = 6。
有没有一种方法可以使用array.filter()
或仅使用我基于求和的函数array.indexof()
?
如果要对两个索引之间的所有元素求和,则可以使用基于循环的简单索引。
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] 删除。
我来说两句