前端判断两个数组arr1 = [1, 2, 3, 4, 5],arr2 = [4, 5, 6, 7, 8],如果有相同的就去重,没有相同的,返回不相同的结果
时间: 2024-04-30 18:19:53 浏览: 7
可以使用 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`,保留该元素。
最后,我们将过滤后的新数组打印输出。
前端用es6实现数组里面第2个元素和第4个互换
可以使用解构赋值和数组方法`splice`来实现。具体代码如下:
```javascript
let arr = [1, 2, 3, 4, 5];
[arr[2], arr[4]] = [arr[4], arr[2]]; // 使用解构赋值交换第2个元素和第4个元素
console.log(arr); // 输出 [1, 2, 5, 4, 3]
// 或者使用 splice 方法交换
let temp = arr[2];
arr.splice(2, 1, arr[4]);
arr.splice(4, 1, temp);
console.log(arr); // 输出 [1, 2, 5, 4, 3]
```
这两种方法都可以实现交换数组中的元素。