vara=[1,5,3,2,6,1,4],写一个方法能把数组a处理成[1,6,9,11,17,18,22]。相关代码//请把代码文本粘贴到下方(请勿用图片代替代码)在线急等!!!!
2 回答
largeQ
TA贡献2039条经验 获得超7个赞
functionarrSum(array){varsum=0;returnarray.map(item=>{sum+=item;returnsum;});}
Qyouu
TA贡献1786条经验 获得超11个赞
关于reduce的用法,有两种形式:如果只传一个迭代函数作为参数,那么它会将数组的第一个值作为初始值,从数组的第二项开始迭代,例如:[1,2,3].reduce((v1,v2)=>{console.log(v1,v2);returnv1+v2;});迭代函数只会执行两次,第一次输出:12,第二次输出:33除了迭代函数外,我们还可以传入一个初始值,作为迭代函数的初始值,函数会从数组第一项开始迭代,例如:[1,2,3].reduce((v1,v2)=>{console.log(v1,v2);returnv1+v2;},0);迭代函数会执行3次,第一次输出:01,第二次输出:12,第三次输出:33所以本例中,最好采用第二种方式,传入初始值[][1,5,3,2,6,1,4].reduce((acc,value)=>{constlastValue=acc[acc.length-1]||0;acc.push(lastValue+value);returnacc;},[]);这样既不会修改原数组,也无需重复构建Array
添加回答
举报
0/150
提交
取消