javascript 2个json数组去重,找出相同的
时间: 2023-07-18 20:40:48 浏览: 51
好的,对于这个问题,我们可以使用 JavaScript 内置的 Set 数据结构,将两个 JSON 数组合并并去重后,找出其中相同的元素。具体来说,我们可以使用两个 Set 数据结构,一个用于存储合并后的所有元素,另一个用于存储出现过多次的元素,即相同的元素。以下是一个示例代码:
```javascript
const arr1 = [...] // 第一个 JSON 数组
const arr2 = [...] // 第二个 JSON 数组
const uniqueSet = new Set() // 存储所有不重复的元素
const duplicatedSet = new Set() // 存储出现过多次的元素
// 将 arr1 和 arr2 合并并去重
for (const item of [...arr1, ...arr2]) {
const itemStr = JSON.stringify(item)
if (uniqueSet.has(itemStr)) {
duplicatedSet.add(itemStr)
} else {
uniqueSet.add(itemStr)
}
}
// 打印相同的元素
for (const itemStr of duplicatedSet) {
const item = JSON.parse(itemStr)
console.log(item)
}
```
这个示例代码使用了 JavaScript 内置的 Set 和 JSON 对象,同时使用了展开运算符以将两个数组合并。注意,这个示例代码假设 JSON 对象中的键值对顺序是一致的,如果顺序不同也会被视为不同的对象。您可以根据具体情况进行调整。