js合并两个数组,重复项保留一项
时间: 2023-08-11 19:44:27 浏览: 52
可以使用`concat`方法将两个数组合并,然后使用`Set`去重,最后再把去重后的结果转换回数组即可。如下所示:
```javascript
const arr1 = [1, 2, 3, 4];
const arr2 = [3, 4, 5, 6];
const result = Array.from(new Set(arr1.concat(arr2)));
console.log(result); // [1, 2, 3, 4, 5, 6]
```
在这个例子中,我们先定义了两个数组`arr1`和`arr2`,然后使用`concat`方法将它们合并成一个数组。接着,我们创建了一个Set对象,将合并后的数组传递给它进行去重。最后,我们使用`Array.from`方法将Set对象转换回数组,并将结果存储在`result`变量中。
相关问题
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' }]`,这是两个对象数组去重并合并后的结果。
vue两个数组合并删除重复项
可以使用 ES6 中的 Set 数据结构来帮助删除重复项。具体实现如下:
```javascript
const array1 = [1, 2, 3];
const array2 = [2, 3, 4];
const mergedArray = [...new Set([...array1, ...array2])];
console.log(mergedArray); // [1, 2, 3, 4]
```
首先,将两个数组合并成一个新数组,使用数组的扩展运算符 (...) 将数组中的元素展开。然后使用 Set 数据结构来去除重复项,Set 会自动去除重复项,最后再将新的 Set 转换回数组形式,使用扩展运算符 (...) 将 Set 中的元素展开即可得到最终的合并数组。