先来写一个例子1
2
3var result = [1,2,3,4,5,6].reduce((pre,next,index,current)=>{
return pre + next
})
我们再浏览器运行一下,可以轻易的知道结果是这几个数的累计,那这到底是怎么实现的呢?
第一次运行的时候pre是数组的第一项1,next是2,因为已经到第二项了,所以index是1, return的和是3
,和作为下一次的循环,成为pre,因为上次index已经到1了,所以next是第三项3,此次index
变为了2,依次累加