1.什么是reduce方法
reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。代码语法如下
arr.reduce(callback,[initialValue])
2. 内部参数
reduce内部有参数function(total,currentValue, index,arr),initialValue
2.1 :total:必需,初始值, 或者计算结束后的返回值
2.2 :currentValue:必需,当前元素
2.3 :index:可选,当前元素的索引
2.4 : arr :可选,当前元素所属的数组对象。
基本用法
2.5 initialValue
initialValue:可选,传递给函数的初始值
那么当我们初始值为空时,会产生一个错误
如果我们提供一个初始值
就不会有这个报错
结论:如果没有提供initialValue,reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。如果提供initialValue,从索引0开始。
3.reduc 的简单用法
最简单的就是求和算乘积
代码实例如下
4 .reduc 的高级用法
1.计算元素出现次数
2.数组去重
3.将二维数组转化为一维
4.对象里的属性求和