用途
reduce方法作为JavaScript中数组的一个高阶函数, 对数组中的每个元素执行一个由您提供的reduce函数(升序执行),将其结果汇总为单个返回值。reduce方法可做的事情特别多,就是循环遍历能做的,reduce都可以做,比如数组求和、数组求积、数组中元素出现的次数、数组去重等等。
具体用法
reduce() 方法接受两个参数:回调函数和可选的初始值。回调函数可以接受四个参数:累积值(上一次回调函数的返回值或初始值)、当前值、当前索引和原始数组。
var arr=[5,4,3,2,1,0]
var result=arr.reduce(function(prev,cur,index,arr){
},0)
参数:
prev 必需。累计器累计回调的返回值; 表示上一次调用回调时的返回值,或者初始值 init;
cur 必需。表示当前正在处理的数组元素;
index 可选。表示当前正在处理的数组元素的索引,若提供 init 值,则起始索引为 0,否则起始索引为1;
arr 可选。表示原数组;
init 可选。表示初始值。
我们真实的去浏览器运行一下
var arr=[1,2,3,4,5]
var result=arr.reduce(function(prev,cur,index){
console.log("每次的初始值:",prev,"下一次要执行方法的值:",cur,"索引(从0开始):",index);
return prev+cur
},2)
console.log(result);
浏览器的运行结果