5种迭代方法的作用如下:
数组还有两个归并的方法:reduce和reduceRight。这两个方法会迭代数组的所有项,最终返回一个迭代的最后值。reduce方法从数组的第一项开始迭代,reduceRight则从数组的最后一项开始。两个方法接受参数相同,都是两个参数:一个是在在每项上调用的函数以及迭代的初始值(可选)。下面,我们对reduce方法的实现进行详解。
ES6规范中Set数据结构,类似于数组,但其中的值全都是唯一的。搭配数组的迭代方法,我们能够快速方便地实现两个或多个数组的交、并、差集。
MDN web docs
ECMAScript 6入门
reduce(),reduceRight()。迭代i数组中的所有值,返回一个按条件计算的最终值。
reduce是从数组的逐个遍历
到最后。而reduceRight()则从数组的最后一项开始,向前遍历到第一项。
例如:
var values = [1,2,3,4,5]
var sum = values.reduce(function(prev, cur, index, array){
return prev + cur
})
alert(sum)//15
第一次执行回调函数,prev 是1,cur 是2。第二次,prev 是3(1 加2 的结果),cur 是3(数组
的第三项)。这个过程会持续到把数组中的每一项都访问一遍,最后返回结果。
resuceRight()函数和reduce类似,不过是倒序。