[英]how to sum arrays of array?
我知道我们可以使用reduce()
对数组元素求和,但是如果我们有一个 arrays 数组怎么办。 例如:
var result=[10,20,30];
result.reduce((a, b) => a + b)
它将返回60
但是如果我们有
result=[ [10,20,30], [20,30,40], [60,70,80] ] console.log(result);
我们如何使用reduce得到最终结果为result=[60,90,210]
?
您可以使用Array.prototype.map()循环遍历外部数组中的每个子数组。 map()方法使用在调用数组中的每个元素上调用提供的 function 的结果创建一个新数组。
一旦你得到一个子数组,按照前面的方法使用 reduce() 求和。
result = result.map(subArray => subArray.reduce((a, b) => a + b))
如果您只想使用.reduce
,我建议使用以下代码:
result=[
[10,20,30],
[20,30,40],
[60,70,80]
]
const sum = result.reduce((a, b) => {
return [...a.concat(b.reduce((a, b) => a + b, 0))]
}, [])
console.log(sum)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.