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()?
如果要对两个索引之间的所有元素求和,可以使用基于简单索引的 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)
| 归档时间: |
|
| 查看次数: |
13089 次 |
| 最近记录: |