reduce方法
### 关于reduce方法
用于:遍历处理数组
- 可以看到reduce方法的第一个参数必须是一个函数(必填)
- 此函数第一个参数默认为上一次reduce遍历的返回值,初始值为数组第一项
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function(prev, cur, index, arr1) {
console.log(prev); //控制台输出结果分别为 1 3 6 10
return prev + cur;
})
- 此函数第二个参数为数组的当前循环次数的后一项(比如,第一次循环对应的是数字组第二项,第二次循环对应数组的第三项…)
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function(prev, cur, index, arr1) {
console.log(cur); //控制台输出结果分别为 2 3 4 5
return prev + cur;
})
- 此函数的第三个参数为当前循环的索引值(注意是从一开始,长度为5的数组只会循环四次)
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function(prev, cur, index, arr1) {
console.log(index); //控制台输出结果分别为 1 2 3 4
return prev + cur;
})
- 此函数的第四个参数为这个数组对象本身(引用)
- reduce方法的第二个参数为返回结果的初始值,默认为0
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function(prev, cur, index, arr1) {
return prev + cur;
},100)
console.log(sum); //115
-
reduce方法再传入参数一些参数会发现reduce方法没有接收这些参数
END