为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃无极 2022-12-09 16:46:27
为此,我尝试研究了很多东西,但我就是想不通如何让它发挥作用。总的来说,我对编码很陌生,所以可能缺乏理解!简单地说,我有一个包含一定数量元素的数组,我希望能够对从特定索引开始到特定索引结束的连续元素求和。const array = [1,2,3,4,5,6]我希望能够对索引 1 和 3 求和,在本例中为 2+4 =6。有没有一种方法可以使用array.filter()或只使用我根据的求和函数array.indexof()?
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

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


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);


查看完整回答
反对 回复 2022-12-09
?
jeck猫

TA贡献1909条经验 获得超7个赞

您可以使用slice获取数组的一部分然后使用reduce


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

subar = array.slice(1,4)

res = subar.reduce((acc , curr, i) => acc = acc + curr ,0)

console.log(res)


查看完整回答
反对 回复 2022-12-09
?
呼如林

TA贡献1798条经验 获得超3个赞

尝试


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

var startInd=1;

var endInd=3;

console.log(array[startInd]+array[endInd]);


查看完整回答
反对 回复 2022-12-09
  • 3 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信