JavaScript reduce() 方法和reduceRight() 方法都是用于做数组累加的方法,是ECMAScript5规范中出现的数组方法。它们的共同点是:1. 都是数组求和的高阶函数;2. 都接收一个求和的函数做为参数,也即回调函数;3. 对于空数组,不会执行回调函数。 reduce() 方法和reduceRight() 方法的不同点是:reduce()是从左到右,也即从数组的起始位置向后累加,reduceRight()是从右到左,也即从数组的末尾向前累加。
reduce在英语中的意思是:减少、缩小,在这里我们可以简单的理解为不断使数组元素减少。
代码示例1:
var arr = [0,1,2,3,4];
arr.reduce(function (preValue,curValue,index,array)
{ return preValue + curValue; }
); // 10
复制代码
代码示例2:
var arr = [0,1,2,3,4];
arr.reduceRight(function (preValue,curValue,index,array)
{ return preValue + curValue; }
); // 10
复制代码