在javascript中,reduce()方法用于对数组元素进行迭代(累加),会对数组中的所有元素调用指定的回调函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
在javascript中,reduce()方法用于对数组元素进行迭代(累加),该方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 方法可对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。
语法:
array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)
function callbackfn(previousValue, currentVaule, currentIndex, array)
:必需参数,指定回调函数,最多可以接收4个参数:
-
previousValue:通过上一次调用回调函数获得的值。如果向 reduce() 方法提供 initialValue,则在首次调用函数时,previousValue 为 initialValue。
-
currentVaule:当前元素数组的值。
-
currentIndex:当前数组元素的数字索引。
-
array:包含该元素的数组对象。
initialValue
:可省略的参数,传递给函数的初始值。
下面通过代码示例来具体了解一下:
示例1:将数组值进行累加求和
var a = [11, 12, 13], sum = 0; function f(pre,curr) { sum=pre+curr; return sum; } a.reduce(f); console.log(sum);
输出结果:
36
示例2:将数组值连接成字符串
var a = [11, 12, 13], str = ''; function f(pre,curr) { str=pre+'-'+curr; return str; } a.reduce(f); console.log(str);
【推荐学习:javascript高级教程】