求大佬指点哈!算法题:var a=[1,5,3,2,6,1,4],写一个方法能把数组a处理成[1,6,9,11,17,18,22]。各位有什么建议?

vara=[1,5,3,2,6,1,4],写一个方法能把数组a处理成[1,6,9,11,17,18,22]。
相关代码
//请把代码文本粘贴到下方(请勿用图片代替代码)
在线急等!!!!
慕姐4208626
浏览 359回答 2
2回答

largeQ

functionarrSum(array){varsum=0;returnarray.map(item=>{sum+=item;returnsum;});}

Qyouu

关于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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript