js中在两个数组中取出相同的元素
时间: 2023-06-04 14:02:47 浏览: 420
可以使用数组的filter方法和includes方法来实现:
```javascript
var arr1 = [1, 2, 3, 4, 5];
var arr2 = [4, 5, 6, 7, 8];
var result = arr1.filter(item => arr2.includes(item));
console.log(result); // [4, 5]
```
这段代码将arr1中与arr2中相同的元素筛选出来并存放在result数组中。
相关问题
js 如何判断两个数组内相同的值
可以使用双重循环来判断两个数组内相同的值,具体步骤如下:
1. 遍历第一个数组,取出每个元素;
2. 遍历第二个数组,对比每个元素是否与第一个数组中的元素相同;
3. 如果相同,则说明两个数组内存在相同的值。
下面是示例代码:
```javascript
function findSameValues(arr1, arr2) {
var result = [];
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
if (arr1[i] === arr2[j]) {
result.push(arr1[i]);
break;
}
}
}
return result;
}
var arr1 = [1, 2, 3, 4, 5];
var arr2 = [3, 4, 5, 6, 7];
var sameValues = findSameValues(arr1, arr2);
console.log(sameValues); // 输出 [3, 4, 5]
```
以上代码中,`findSameValues` 函数接受两个数组参数,返回值为两个数组中相同的元素组成的新数组。在函数内部,我们使用了双重循环来遍历两个数组,并使用 `===` 运算符判断两个元素是否相同,如果相同,则将其添加到 `result` 数组中,并使用 `break` 语句跳出内层循环。最后,函数返回 `result` 数组即可。
Js数组里取出相同的值
在JavaScript中,如果你想要从数组中找出所有的相同值,你可以通过多种方法来实现。以下是几种常见的做法:
1. **使用Set**:
Set数据结构只存储唯一的值,所以你可以创建一个Set并遍历原始数组,剩下的就是所有唯一值。然后将这个Set转回数组即可找到重复的值。
```javascript
function findDuplicates(arr) {
return [...new Set(arr)].filter((value, index, self) => self.indexOf(value) !== index);
}
```
2. **双重循环**:
使用两个嵌套循环,外层遍历数组,内层检查当前元素是否已经在另一个数组(结果数组)中存在。
```javascript
function findDuplicates(arr) {
let duplicates = [];
for(let i = 0; i < arr.length; i++) {
if(arr.indexOf(arr[i], i + 1) !== -1 && !duplicates.includes(arr[i])) {
duplicates.push(arr[i]);
}
}
return duplicates;
}
```
3. **使用reduce** 和 `includes`:
利用Array.prototype.reduce方法,配合 includes 方法检查元素是否存在。
```javascript
function findDuplicates(arr) {
return arr.reduce((acc, val) => acc.includes(val) ? acc : [...acc, val], []);
}
```
阅读全文