[英]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.