前端判断两个数组arr1 = [1, 2, 3, 4, 5],arr2 = [4, 5, 6, 7, 8],如果有相同的就去重,没有相同的,返回不相同的结果
时间: 2024-04-30 10:19:53 浏览: 121
可以使用 JavaScript 的 Set 对象来实现这个需求。将两个数组合并为一个数组,然后使用 Set 对象去重,最后将去重后的数组转换为原来的数组形式即可。
代码如下所示:
```javascript
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [4, 5, 6, 7, 8];
// 合并两个数组
const mergedArr = [...arr1, ...arr2];
// 使用 Set 对象去重
const uniqueSet = new Set(mergedArr);
// 将去重后的数组转换为原来的数组形式
const uniqueArr = [...uniqueSet];
// 判断是否有相同元素
if (uniqueArr.length === mergedArr.length) {
console.log('没有相同元素');
} else {
console.log('有相同元素');
// 去重后的数组减去原来的数组得到不相同的元素
const diffArr = uniqueArr.filter((item) => !arr1.includes(item) || !arr2.includes(item));
console.log(diffArr);
}
```
输出结果为:
```
有相同元素
[1, 2, 3, 6, 7, 8]
```
其中,`diffArr` 就是不相同的元素数组。
相关问题
前端中有两个数组,arr1=[1,2],arr2=[2,3,4],取出arr1没有,arr2有的
可以使用 JavaScript 的数组方法 `filter()` 和 `includes()` 来实现。
代码如下:
```javascript
const arr1 = [1, 2];
const arr2 = [2, 3, 4];
const result = arr2.filter((item) => !arr1.includes(item));
console.log(result); // [3, 4]
```
首先,我们使用 `filter()` 方法遍历 `arr2` 数组,返回一个新数组,其中包含不在 `arr1` 数组中的元素。
在 `filter()` 的回调函数中,我们使用 `includes()` 方法检查当前元素是否在 `arr1` 中。如果存在,则返回 `false`,过滤掉该元素,否则返回 `true`,保留该元素。
最后,我们将过滤后的新数组打印输出。
前端对比两个数组并赋值
可以使用JavaScript中的Array.prototype.filter()方法和Array.prototype.includes()方法来对比两个数组并赋值。具体操作如下:
```javascript
let arr1 = [1, 2, 3];
let arr2 = [2, 3, 4];
let result = arr1.filter(item => !arr2.includes(item));
console.log(result); // [1]
```
上述代码中,我们先定义了两个数组`arr1`和`arr2`,然后使用`filter()`方法对`arr1`进行筛选,筛选出不在`arr2`中的元素,最后将结果赋值给`result`变量。最终打印出`result`,即可得到`[1]`的输出结果。
阅读全文