是否可以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
发布了它作为一个答案... –