数组数组:
list = [[1, 2, 3], [4, 5, 6]];
我想减少(组合)每个内部数组(1 + 2 + 3)和(4 + 5 + 6),然后将结果6和15放在自己的数组中,例如[6, 15]
。
我有以下代码:
list.reduce((a, b) => a + b);
但它奇怪地组合了所有数组中的所有内容。
答案 0 :(得分:2)
您需要迭代外部数组和内部数组。
list.map(array => array.reduce((a, b) => a + b))
答案 1 :(得分:2)
您可以这样做
map()
和地图,我们会在arr的每个元素上进行迭代。
reduce()
-使用reduce可以将每个元素减少为一个值。
let arr = [[1,2,3],[4,5,6]];
let op = arr.map(e => e.reduce( (a, b) => a + b, 0) );
console.log(op);
答案 2 :(得分:2)
将.map()
与.reduce()
一起使用:
let list = [[1, 2, 3], [4, 5, 6]];
let reducer = (a, b) => (a + b);
let result = list.map(arr => arr.reduce(reducer));
console.log(result);
答案 3 :(得分:1)
您还可以使用Array.from
来实现此目的,因为它的第二个参数是Array.map
函数,并且您可以在内部进行Array.reduce
的求和:
const data = [[1, 2, 3], [4, 5, 6]]
const result = Array.from(data, x => x.reduce((r,c) => r+c))
console.log(result)