簡體   English   中英

如何用另一個對象數組更改一個對象數組中的對象值?

[英]How to change object value within an array of objects with one from another array of objects?

考慮下面的兩個數組:

let aaa = [{label: "nu", angle: 5}, {label: "na", angle: 3}]
let bbb= [{label: "nu", angle: 2}, {label: "na", angle: 6}]

如何將一個對象的鍵上的值與下一個對象數組中的對應值相加,然后返回一個對象或另一個對象。

結果應該是:

let ccc= [{label: "nu", angle: 7}, {label: "na", angle: 9}]

我不知道該如何解決

您可以像這樣使用Array.reduce()Array.findIndex()

 let aaa = [{label: "nu", angle: 5}, {label: "na", angle: 3}]; let bbb= [{label: "nu", angle: 2}, {label: "na", angle: 6}]; const ccc = [...aaa, ...bbb].reduce((acc, a) => { const i = acc.findIndex(o => o.label === a.label); if(i === -1) { acc.push(a); return acc; } acc[i].angle += a.angle; return acc; }, []); console.log(ccc); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM