我想合并两个对象数组,但是我想跳过具有相同ID的对象(只想保存具有相同id的第一个对象)。
一个数组存储在本地,另一个是从API中获取用户。
const localUsers = [
{
"id": 1,
"first_name": "Adam",
"last_name": "Bent",
"avatar": "some img url"
},
{
"id": 2,
"first_name": "New Name",
"last_name": "New Last Name",
"avatar": "some new img url"
}
];
const apiUsers = [
{
"id": 2,
"first_name": "Eve",
"last_name": "Holt",
"avatar": "some img url"
},
{
"id": 3,
"first_name": "Charles",
"last_name": "Morris",
"avatar": "some img url"
}
];
我希望能够实现以下功能:跳过id为2的apiUsers对象,因为它已经存在于本地对象数组localUsers中。我想对所有具有相同id的对象执行此操作。
const mergedUsers = [
{
"id": 1,
"first_name": "Adam",
"last_name": "Bent",
"avatar": "some img url"
},
{
"id": 2,
"first_name": "New Name",
"last_name": "New Last Name",
"avatar": "some new img url"
},
{
"id": 3,
"first_name": "Charles",
"last_name": "Morris",
"avatar": "some img url"
}
];
Map
中将localUsers
放在apiUsers
之后,这样才能按照 OP 的要求进行覆盖。 - Patrick Roberts