我正在使用Angular 2/Typescript。從兩個數組之間的匹配對象複製屬性值
我有「項目」的數組:
items: [
{
"id": 1,
"qty" undefined
},
{
"id": 2,
"qty" undefined
}
{
"id": 3,
"qty" undefined
}...etc
]
然後,我有「ItemsWithQuantities」的數組:
itemsWithQuantities: [
{
"id": 1,
"qty" 55
},
{
"id": 2,
"qty" 3
} ...etc
]
我希望把數量值從itemsWithQuantities
陣列成在items
數組中匹配(由id
)對象的qty屬性。很明顯,我可以創建一個循環和嵌套循環來找到一個匹配並設置屬性值,但我更感興趣的是重構/雄辯的解決方案。我想知道是否有內置的打字稿/「新」JS風味,甚至lodash,可以得到我想要的。
如果數組進行排序,然後它是一個簡單的迭代(如果不是,那麼排序他們首先,你將無法獲得更好的解決方案)。 –
爲什麼你不只是'items = itemsWithQuantities'? – Redu
@Redu我想這在技術上不是對實際問題的回答。但是,我一直認爲這在架構上可能是更好的東西。 但直接回答你的問題...我的itemsWithQuantities對象不「看」完全一樣的我的項目對象。只有一個ID和一個數量匹配。兩個對象都具有其他對象上不存在的唯一屬性。 (加上數組的長度將是不同的:'items.length == 230'而'itemsWithQuantities.length == 5')但是無論如何,我想我明白你在說什麼 – JzInqXc9Dg