数组求和, reduce()方法,sum为return 的值
如果index为0,sum为0
当index不为0时,sum为上一次return的值,i为当前项
比如index为1: sum = 0 + 1;
比如index为2: sum = 1 + 2;
比如index为3: sum = 3 + 3
var total = [1, 2, 3, 4].reduce(
(sum, i) => {console.log(sum, i);return sum + i}
, 0);
console.log(total) // 10var arr = [{ num: 1 }, { num: 2 }, { num: 3 }, { num: 4 }].reduce(
(sum, i) => {console.log(sum, i);return sum - i.num}
, 0)
console.log(arr) // -10针对二维数组
数组扁平化, reduce()方法,sum为return 的值
如果index为0,sum为[]
当index不为0时,sum为上一次return的值,i为当前项
比如index为1: sum = [ 1, 2 ];
比如index为2: sum = [ 1, 2, 3, 4 ];
var array = [[1, 2],[3, 4],[5, 6]].reduce(
(sum, i) => {
console.log(sum, i);
return sum.concat(i)
}
, []);
console.log(array); //[ 1, 2, 3, 4, 5, 6 ]var arr = [[{ num: 1 }, { num: 2 }],[{ num: 3 }, { num: 4 }],[{ num: 5 }, { num: 6 }],{ num: 7 }].reduce(
(sum, i) => {
console.log(sum, i);
return sum.concat(i)
}
, []);
console.log(arr) // [ { num: 1 },{ num: 2 },{ num: 3 },{ num: 4 },{ num: 5 },{ num: 6 },{ num: 7 } ]