js 两个数组去重
时间: 2023-08-29 07:12:02 浏览: 48
你可以使用 JavaScript 中的 `Set` 对象来实现两个数组的去重操作。首先,你需要将两个数组合并成一个新的数组,然后将该数组转换为 `Set` 对象。最后,你可以将 `Set` 对象转换回数组形式。以下是一个示例代码:
```javascript
const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];
const mergedArray = [...arr1, ...arr2];
const uniqueArray = Array.from(new Set(mergedArray));
console.log(uniqueArray); // [1, 2, 3, 4]
```
在上述代码中,我们首先使用展开运算符 `...` 将两个数组 `arr1` 和 `arr2` 合并为一个新数组 `mergedArray`。然后,我们创建一个 `Set` 对象,并将 `mergedArray` 作为参数传递给它。由于 `Set` 对象只会存储不重复的值,所以它会自动去除重复元素。最后,我们使用 `Array.from()` 方法将 `Set` 对象转换回数组形式,并将结果保存在 `uniqueArray` 变量中。
请记住,使用 `Set` 对象进行去重操作会导致原始数组的顺序被打乱,因为 `Set` 对象不会保留原始元素的顺序。如果你需要保留原始数组的顺序,可以使用其他方法实现去重。
相关问题
js两个数组去重合并
你可以使用 Set 数据结构来去重,然后将两个数组合并即可。具体实现如下:
```javascript
const arr1 = [1, 2, 3, 4];
const arr2 = [3, 4, 5, 6];
const set = new Set([...arr1, ...arr2]);
const result = [...set];
console.log(result); // [1, 2, 3, 4, 5, 6]
```
在上面的代码中,我们首先将两个数组通过扩展运算符 `...` 合并为一个新数组,然后使用 Set 数据结构对新数组进行去重,最后再将 Set 转换回数组即可得到合并后的结果。
js两个对象数组去重合并
要合并两个对象数组并去除重复项,你可以使用以下代码:
```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' }]`,这是两个对象数组去重并合并后的结果。