是否可以Concat的兩個數組與對象,讓第二陣列覆蓋第一陣列,他們具有相同的ID:的Javascript CONCAT並覆蓋其中元素具有相同的ID
// array 1
[
{id: 1, name: "foo"},
{id: 2, name: "bar"},
{id: 3, name: "baz"}
]
// array 2:
[
{id: 1, name: "newFoo"},
{id: 4, name: "y"},
{id: 5, name: "z"}
]
// out:
[
{id: 1, name: "newFoo"}, // overwriten by array 2
{id: 2, name: "bar"}, // not changed (from array 1)
{id: 3, name: "baz"}, // not changed (from array 1)
{id: 4, name: "y"}, // added (from array 2)
{id: 5, name: "z"} // added (from array 2)
]
如果有可能我想做到這一點,而無需使用第三方庫
的
是的,有很多方法可以做到這一點。如果他們的ID匹配,則從第二個元素推入並延伸到第一個元素。否則將數組迭代爲一個以id爲鍵並擴展的對象,然後將其轉換回數組。 –
好吧,我正在嘗試一些東西,你可以給一個例子作爲答案? – nusje2000
發佈了它作爲一個答案... –