先上参数定义
对数组中的所有元素调用指定的回调函数。 该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。
array1.reduce(callbackfn[, initialValue])
如果提供了 initialValue,则 reduce 方法会对数组中的每个元素调用一次 callbackfn 函数(按升序索引顺序)。 如果未提供 initialValue,则 reduce 方法会对从第二个元素开始的每个元素调用 callbackfn 函数。PS
-----PS:reduce是升序索引 reduceRight是根据数组的index降序遍历
回调函数的返回值在下一次调用回调函数时作为 previousValue 参数提供。 最后一次调用回调函数获得的返回值为 reduce 方法的返回值。
上列子
var a1=[1,2,3,4,5];
var aa = a1.reduce(function(
previousValue, //通过上一次调用回调函数获得的值。 如果向 reduce 方法提供 initialValue,则在首次调用函数时,previousValue 为 initialValue。
currentValue, //当前数组元素的值。
currentIndex, //当前数组元素的数字索引。
array1 //包含该元素的数组对象。
){
return previousValue + currentValue * Math.pow(10,array1.length-1-currentIndex)
},
0
);//12345
var a1=[1,2,3,4,5];
var aa = a1.reduce(function(prev,cv,ci,array){
return prev+"->"+cv
});//<span style="font-family: STHeiti;font-size:14px;">1->2->3->4->5</span>
摆脱for循坏 -。-