js两个对象数组去重合并
时间: 2023-09-06 16:14:10 浏览: 176
js中数组对象去重的两种方法
5星 · 资源好评率100%
要合并两个对象数组并去除重复项,你可以使用以下代码:
```javascript
const arr1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }];
const arr2 = [{ id: 2, name: 'Jane' }, { id: 3, name: 'Bob' }];
const mergedArray = [...arr1, ...arr2].reduce((uniqueArray, obj) => {
const index = uniqueArray.findIndex(item => item.id === obj.id);
if (index === -1) {
uniqueArray.push(obj);
} else {
uniqueArray[index] = obj;
}
return uniqueArray;
}, []);
console.log(mergedArray);
```
在这个例子中,我们首先使用扩展运算符(`...`)将两个对象数组合并为一个新数组。然后,我们使用 `reduce` 方法遍历这个新数组,并根据对象的 `id` 属性来判断是否存在重复项。如果不存在重复项,则将对象添加到 `uniqueArray` 中;如果存在重复项,则用新的对象替换已存在的对象。最后,我们得到合并并去重后的对象数组。
输出结果将是 `[{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'Bob' }]`,这是两个对象数组去重并合并后的结果。
阅读全文