数组reduce方法语法.png
// 使用 reduce 方法时,你要传入一个回调函数,这个回调函数的参数是一个 累加器 (比如例子中的 previousVal) 和当前值 (currentVal)。
// reduce 方法有一个可选的第二参数,它可以被用来设置累加器的初始值。如果没有在这定义初始值,那么初始值将变成数组中的第一项,而 currentVal 将从数组的第二项开始。
let arr = [1, 2, 3, 4, 5];
let sum = arr.reduce(function(prev, cur, index, arr) {
//输出的是第一项的值或上一次叠加的结果,正在被处理的元素,正在被处理的元素的索引值
console.log(prev, cur, index);
return prev + cur;
})
console.log("arr==>",arr, "sum==>",sum); //输入数组本身和最后的结果
let x = NaN;
let sum2 = arr.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
},x)
console.log("arr==>",arr, "sum2==>",sum2);
let y = 0;
let sum3 = arr.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
},y)
console.log("arr==>",arr, "sum3==>",sum3);
let z = 10;
let sum4 = arr.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
},z)
console.log("arr==>",arr, "sum4==>",sum4);
打印结果_看图王.JPG
let arr2 = [0,0,0,0];
let res = arr2.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
},0)
console.log("arr2==>",arr2, "res==>",res);
let res2 = arr2.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
},5)
console.log("arr2==>",arr2, "res2==>",res2);
let res3 = arr2.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev;
},5)
console.log("arr2==>",arr2, "res3==>",res3);
let res4 = arr2.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return cur;
},5)
console.log("arr2==>",arr2, "res4==>",res4);
打印2.JPG