js怎样找出两个数组中不同的数据
时间: 2023-05-16 20:05:08 浏览: 137
可以使用 JavaScript 中的 filter() 方法和 includes() 方法来找出两个数组中不同的数据。具体实现如下:
```javascript
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [3, 4, 5, 6, 7];
const diff = arr1.filter(num => !arr2.includes(num)).concat(arr2.filter(num => !arr1.includes(num)));
console.log(diff); // [1, 2, 6, 7]
```
以上代码中,我们先使用 filter() 方法过滤出 arr1 中不在 arr2 中的元素,再使用 concat() 方法将其与 arr2 中不在 arr1 中的元素合并成一个新数组 diff,最后输出 diff 即可。
相关问题
js返回两个数组不同的数据
可以使用JavaScript的Array.filter()方法来返回两个数组中不同的数据。以下是一个示例代码:
```javascript
function getDifferentElements(arr1, arr2) {
// 返回 arr1 中不在 arr2 中的元素
const diff1 = arr1.filter(elem => !arr2.includes(elem));
// 返回 arr2 中不在 arr1 中的元素
const diff2 = arr2.filter(elem => !arr1.includes(elem));
return [diff1, diff2];
}
const array1 = [1, 2, 3, 4];
const array2 = [2, 3, 5, 6];
const [result1, result2] = getDifferentElements(array1, array2);
console.log(result1); // [1, 4]
console.log(result2); // [5, 6]
```
该函数接受两个数组作为参数,使用Array.filter()方法分别过滤出在一个数组中存在但在另一个数组中不存在的元素,并返回一个包含两个数组的数组。
前端筛选出 两个数组的不同的数据
在前端,如果你有两个数组需要找出它们之间的不同元素,你可以使用多种方法。这里提供一种常见的JavaScript方法:
1. **使用Set数据结构**:
JavaScript的Set是一个不包含重复值的集合,可以用来轻松找到两个数组的不同元素。首先将这两个数组分别转换为Set,然后取它们的差集(Set A 减去 Set B 或者 Set B 减去 Set A),就可以得到不同的元素。
```javascript
function findDiff(arr1, arr2) {
return [...new Set([...arr1, ...arr2])].filter(item => !arr1.includes(item) && !arr2.includes(item));
}
let array1 = [1, 2, 3];
let array2 = [2, 4, 5];
console.log(findDiff(array1, array2)); // 输出:[1, 3, 4, 5]
```
2. **使用双重循环**:
如果不想引入新的数据结构,也可以通过遍历其中一个数组,检查另一个数组是否包含当前元素来实现:
```javascript
function findDiff(arr1, arr2) {
let diffArray = [];
for (let item of arr1) {
if (!arr2.includes(item)) {
diffArray.push(item);
}
}
return diffArray;
}
```
阅读全文