是JavaScript中的一种数组操作方法,它可以将数组中的所有元素进行累加,最终返回一个值。它的用法如下:
array.reduce(function(accumulator, currentValue, currentIndex, array) { // 返回值作为下一次调用的累加器 return accumulator; }, initialValue);
其中,参数accumulator是累加器,currentValue是当前元素的值,currentIndex是当前元素的索引,array是原数组,initialValue是初始值,可以省略,默认为数组的第一个元素。函数的返回值将作为下一次调用的累加器。
下面我们来看一个实例,求数组[1,2,3,4]的和:
var arr = [1,2,3,4]; var sum = arr.reduce(function(acc, cur) { return acc + cur; }, 0); console.log(sum); // 10
上面的例子中,acc表示累加器,cur表示当前元素的值,第二个参数0表示初始值,函数的返回值acc+cur表示下一次调用的累加器。最终,求和结果为10。
除了求和,还可以用来求平均值、求最大值、求最小值、求乘积等。下面我们来看一个求数组[1,2,3,4]的最大值的例子:
var arr = [1,2,3,4]; var max = arr.reduce(function(acc, cur) { return Math.max(acc, cur); }, 0); console.log(max); // 4
上面的例子中,acc表示累加器,cur表示当前元素的值,第二个参数0表示初始值,函数的返回值Math.max(acc, cur)表示下一次调用的累加器,最终,求最大值结果为4。
是一种非常有用的数组操作方法,它可以用来求和、求平均值、求最大值、求最小值、求乘积等,只要你能想到的,它都能做到。