JavaScript减少数组的内部数组并创建答案数组

时间:2018-12-08 18:28:30

标签: javascript arrays reduce

数组数组:

list = [[1, 2, 3], [4, 5, 6]];

我想减少(组合)每个内部数组(1 + 2 + 3)和(4 + 5 + 6),然后将结果6和15放在自己的数组中,例如[6, 15]

我有以下代码:

list.reduce((a, b) => a + b);

但它奇怪地组合了所有数组中的所有内容。

4 个答案:

答案 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)