js合并两个数组,把相同的数据都去掉
时间: 2024-02-02 22:40:43 浏览: 146
可以使用Array.filter()方法和Array.includes()方法来实现。具体实现代码如下:
```
let arr1 = [1, 2, 3, 4, 5];
let arr2 = [3, 4, 5, 6, 7];
let newArr = arr1.concat(arr2).filter((item, index, arr) => {
return arr.indexOf(item) === index && arr2.includes(item) === false;
});
console.log(newArr); // [1, 2, 6, 7]
```
这段代码合并了两个数组,并且去掉了相同的数据。使用Array.concat()方法可以合并两个数组,然后使用Array.filter()方法过滤掉相同的数据。其中,Array.indexOf()方法返回元素在数组中第一次出现的位置,如果该元素不在数组中,则返回-1。如果元素第一次出现的位置等于元素在数组中的位置,则保留该元素;否则,过滤掉该元素。同时,使用Array.includes()方法判断arr2中是否包含该元素,如果包含,则也过滤掉该元素。
相关问题
js 合并两个数组并去重
要在JavaScript中合并两个数组并去重,可以使用concat()方法和Set集合。首先,使用concat()方法将两个数组合并成一个新数组。然后,使用Set集合去除新数组中的重复元素。最后,将Set集合转换为数组。以下是一个示例代码:
```javascript
let arr1 = \[3, 5, 2, 3, 6\];
let arr2 = \[5, 2, 4, 6, 8, 7, 9, 2\];
let arr = arr1.concat(arr2); // 合并数组
let arrNew = Array.from(new Set(arr)); // 通过Set集合去重
console.log("arrNew", arrNew); // 输出去重后的数组
```
这段代码首先使用concat()方法将arr1和arr2两个数组合并成一个新数组arr。然后,通过new Set(arr)创建一个Set集合,Set集合会自动去除重复的元素。最后,使用Array.from()方法将Set集合转换为数组arrNew。最终,通过console.log()输出去重后的数组arrNew。
#### 引用[.reference_title]
- *1* *3* [js 两个数组(对象)去重合并](https://blog.csdn.net/weixin_40805079/article/details/84850745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [JS中数组的合并与去重](https://blog.csdn.net/zhengjingID/article/details/123429877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
两个数组对象怎么把相同的去掉,合成一个新数组,相同的不出现在新的数组里
当你需要从两个数组对象中合并元素并去除重复项时,可以采用多种算法或方法,这通常涉及到JavaScript中的Set数据结构或者数组的reduce方法。这里提供两种常见的方式:
**方法一:利用Set**
```javascript
function mergeArraysWithoutDuplicates(array1, array2) {
return [...new Set([...array1, ...array2])];
}
let arr1 = [1, 2, 3, 4];
let arr2 = [3, 4, 5, 6];
let mergedArr = mergeArraysWithoutDuplicates(arr1, arr2);
console.log(mergedArr); // 输出:[1, 2, 3, 4, 5, 6]
```
**方法二:使用数组的filter和indexOf**
```javascript
function mergeArraysNoDuplicates(array1, array2) {
let result = array1.concat(array2);
return result.filter((value, index, self) => {
return self.indexOf(value) === index;
});
}
// 同样实例
let arr1 = [1, 2, 3, 4];
let arr2 = [3, 4, 5, 6];
let mergedArr = mergeArraysNoDuplicates(arr1, arr2);
console.log(mergedArr); // 输出:[1, 2, 3, 4, 5, 6]
```
阅读全文