var arr = [10,20,30,40,50,60]
var countAdd = arr.reduce(function (addcount, currentval, index, array) {
//数组reduce方法,参数一是个回调(回调:参数1是累计回调的返回值,参数2是数组中正常处理的元素,参数3是正在处理元素的下标,参数4是原数组arr);
//参数2可选,作为第一次调用回调时的第一个参数;在没有初始值的空数组上调用reduce将报错;
//如果没有提供参数2,回调第一次执行时,addcount从数组第一个开始取,currentval从数组第2个开始取;
//如果有提供参数2(这里是0),回调第一次执行时,addcount第一次取值为参数2(0),currentval从数组第1个开始取;
//参数2为0相当于默认没有提供参数2;提供参数相当于在原数组和的身上在加提供的数组作为和
return addcount + currentval
}, 0)
console.log(countAdd);
// 用于二维数组降为一维数组
var arr = [10, 20, 30, 40, 50, 60, [1, 2, 3, 4, 5, 6]]
arr = arr.reduce(function (addcount, currentval) {
return addcount.concat(currentval)
}, [])
console.log(arr);