reduce用法浅解

先来写一个例子

1
2
3
var 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,依次累加