如果reduce不设置初始值,
pre第一次的值是数组的第一项,以后每次的值是reduce函数的返回值
current第一次的值是数组的第二项,循环次数为数组长度-1,以后的值为当前项后面的值,依次类推
var todu = [1,2,3,1,4,5];
var b= todu.reduce((pre,current)=>{
console.log(pre)
// console.log(current)
// return pre +current
return current+pre
})
console.log(b)
如果reducu设置初始值,
pre参数的第一次值是初始设置的这个值,以后每次的值是reduce函数的返回值
current第一次的值是数组的第一项,循环次数为数组长度-1,以后的值为当前项后面的值,依次类推
var todu = [1,2,3,1,4,5];
var b= todu.reduce((pre,current)=>{
console.log(pre)
// console.log(current)
// return pre +current
return current+pre
},10)
console.log(b)
如果数组里面是一个对象,那么设置初始值后,
pre参数第一次的值是这个初始值,此后为reduce函数的返回值。
current参数的值,依次是数组里面的各个对象。
var todu = [
{down:1},
{down:0},
{down:1},
{down:1}
];
var b= todu.reduce((pre,current)=>{
// console.log(pre)
console.log(current)
return pre+(current.down?1:0)
},0)
console.log(b)