@[TOC](JavaScript reduce() 方法)
JavaScript reduce() 方法
个人理解reduce方法是一个自动循环的的api,每次循环会执行一次回调函数。
reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。
var arr = [1,5,3,3,1,10]
var newArr = arr.reduce(function(prev, cur) { //用reduce实现数组去重
console.log(prev) //第一个参数输出一下 ,得到的是每次回调函数的返回值 return出来的值
console.log(cur) //第二个参数输出一下,得到的是每次循环原数组的每一项值 相当于遍历了原数组
if(prev.indexOf(cur) === -1){
prev.push(cur)
}
return prev;
}, []);
console.log(newArr)
var add = arr.reduce(function(prev, cur){//用reduce实现数组累加
return prev+cur
},0)
console.log(add)