数组归并有两个方法,reduce()和reduceRight(),两个方法都会迭代数组所有项,然后构建最终的值。reduce是从数组的第1项开始,reduceRight则是从数组最后一项向前迭代。reduce可以传入2个参数。
reduce(func, num)
func可以传入4个参数func(pre, cur, index, arr)
pre表示前一个值,cur表示当前值,index表示项的索引,arr表示数组。
num表示初始值
看例子:
var arr = [5,7,2,4]
const sum = arr.reduce((a, b) => a+=b, 0)
console.log(sum)
// 过程,a前一个值,b为当前值
// 第1次,0 + 5 = 5(作为值(a)传入下一次计算)
// 第2次,5 + 7 = 12
// 第3次,12 + 2 = 14
// 第4次,14 + 4 = 18
// 结束
var arr = [5,7,2,4]
const sum = arr.reduce(function(pre, cur, index, arr0){
console.log(pre, cur, index, arr0)
return pre + cur
},1)
console.log(sum)
// 1 5 0
//Array(4) [5, 7, 2, 4]
//6 7 1
//Array(4) [5, 7, 2, 4]
//13 2 2
//Array(4) [5, 7, 2, 4]
评论列表
已有0条评论