归并方法 (不会影响原数组)
reduce()、reduceRight()都是迭代数组的所有项,然后返回一个最终的返回值。(用于求和很不错滴)
reduce()从第一项开始逐个遍历到最后,reduceRight()则相反,从后往前遍历。
它们接收4个参数:前一个值、当前值、索引值和数组对象。
注意:每次迭代返回值都会作为第一参数传给下一项。
// reduce() 归并 从前往后
var arr = [1,2,3,4,5];
var sum = arr.reduce(function(pre, cur, index, array) {
console.log("前一个值:"+pre+" 当前值:"+cur+" 索引值:"+index);
return pre+cur;
});
console.log(sum); // 15
// reduceRight() 从后往前
var sum2 = arr.reduceRight(function(pre, cur, index, array){
console.log("前一个值:"+pre+" 当前值:"+cur+" 索引值:"+index);
return pre+cur;
});
console.log(sum2); // 15