js数组合并后筛选出现多次的元素
时间: 2023-08-10 14:33:03 浏览: 41
你可以使用 JavaScript 中的 Map 数据结构来实现这个问题。具体步骤如下:
1. 将两个数组合并为一个新数组。
```
const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];
const mergedArr = [...arr1, ...arr2];
```
2. 创建一个空的 Map 对象。
```
const map = new Map();
```
3. 遍历合并后的数组,将元素作为 Map 的 key,出现次数作为 value 存储在 Map 中。
```
mergedArr.forEach(item => {
if (map.has(item)) {
map.set(item, map.get(item) + 1);
} else {
map.set(item, 1);
}
});
```
4. 筛选出现次数大于 1 的元素。
```
const duplicatedItems = [];
map.forEach((value, key) => {
if (value > 1) {
duplicatedItems.push(key);
}
});
```
最终,duplicatedItems 数组中存储的就是合并后出现多次的元素。
相关问题
vue 两个数组合并相同元素
可以使用 JavaScript 中的 `filter` 和 `concat` 方法来实现两个数组合并相同元素:
```javascript
let arr1 = [1, 2, 3, 4];
let arr2 = [3, 4, 5, 6];
let result = arr1.filter(item => arr2.includes(item)).concat(arr2);
console.log(result); // [3, 4, 5, 6]
```
这里我们首先使用 `filter` 方法过滤出两个数组相同的元素,然后使用 `concat` 方法将过滤出来的元素和原数组 `arr2` 合并成一个新的数组 `result`。
vue两个数组合并删除相同元素
可以使用`concat()`方法将两个数组合并,然后使用`filter()`方法过滤掉相同的元素,最后使用`set()`方法去重。示例代码如下:
```javascript
let arr1 = [1, 2, 3];
let arr2 = [2, 4, 5];
let mergedArr = arr1.concat(arr2).filter((item, index, arr) => arr.indexOf(item) === index);
let uniqueArr = [...new Set(mergedArr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
上述代码先将`arr1`和`arr2`合并成一个数组`mergedArr`,然后使用`filter()`方法过滤掉相同的元素,最后使用`set()`方法去重,得到最终的结果`uniqueArr`。