new Set()方法如何获取两个json数组之间的并集并以userId为唯一标识去除重复的集合
时间: 2024-09-06 09:05:09 浏览: 39
js取两个数组的交集|差集|并集|补集|去重示例代码
5星 · 资源好评率100%
在JavaScript中,你可以使用`Set`数据结构配合JSON数组来获取两个数组的并集,因为`Set`自动去除了其中的重复元素。首先,你需要将每个数组转换为包含对象的数组,其中对象的键是你指定的唯一标识(如`userId`),然后合并这两个数组,并创建一个新的`Set`。
假设你有两个JSON数组,比如:
```javascript
let arr1 = [
{ userId: '1', name: 'Alice' },
{ userId: '2', name: 'Bob' }
];
let arr2 = [
{ userId: '2', name: 'Charlie' },
{ userId: '3', name: 'Dave' }
];
```
你可以这样做:
```javascript
// 将数组转换为键值对形式的Set
let set1 = new Set(arr1.map(item => item.userId));
let set2 = new Set(arr2.map(item => item.userId));
// 合并两个Set
let combinedSet = [...set1, ...set2]; // 使用扩展运算符获取并集
// 转换回数组,保留唯一的userId
let uniqueUsers = Array.from(combinedSet).map(userId => ({ userId }));
console.log(uniqueUsers);
```
这将输出:
```json
[
{ "userId": "1" },
{ "userId": "2" },
{ "userId": "3" }
]
```
阅读全文