js筛选并返回两个数组中的相同值
时间: 2023-09-26 09:07:09 浏览: 130
### 回答1:
好的,可以使用 JavaScript 中的 filter 函数来过滤出两个数组中的相同值。
具体的实现方法是,你需要定义一个 callback 函数,在该函数中判断某个元素是否存在于另一个数组中。然后在第一个数组上使用 filter 函数,传入这个 callback 函数。
例如,你可以这样写:
```
const array1 = [1, 2, 3, 4];
const array2 = [3, 4, 5, 6];
const commonValues = array1.filter(value => array2.includes(value));
console.log(commonValues); // [3, 4]
```
在这个例子中,`commonValues` 数组就包含了两个数组中相同的元素 3 和 4。
### 回答2:
筛选并返回两个数组中的相同值可以通过JavaScript中的数组方法来实现。以下是一种实现方式:
```javascript
function filterSameValues(arr1, arr2) {
// 使用filter方法筛选arr1中的元素,保留在arr2中也存在的值
var result = arr1.filter(function(value) {
return arr2.includes(value);
});
return result;
}
// 示例调用
var array1 = [1, 2, 3, 4, 5];
var array2 = [3, 4, 5, 6, 7];
var sameValues = filterSameValues(array1, array2);
console.log(sameValues); // 输出 [3, 4, 5]
```
以上代码中,`filterSameValues`函数接受两个参数,分别是要筛选的两个数组`arr1`和`arr2`。在函数内部,使用了`filter`方法对`arr1`进行筛选,对于`arr1`中的每个元素,使用`includes`方法判断其是否在`arr2`中存在。如果存在,则保留该值,最终返回筛选结果。
在示例调用中,定义了两个示例数组`array1`和`array2`,分别传入`filterSameValues`函数进行筛选,并将结果存入`sameValues`变量中。最后使用`console.log`打印结果,得到的结果是两个数组中的相同值`[3, 4, 5]`。
### 回答3:
JS中可以使用filter()方法和includes()方法来筛选并返回两个数组中的相同值。
首先,我们给定两个数组arr1和arr2,然后创建一个空数组res来存储相同值。
接下来,我们使用filter()方法遍历第一个数组arr1,并在回调函数中使用includes()方法来检查第二个数组arr2中是否包含当前元素。如果包含,则将该元素添加到res数组中。
最后,我们返回res数组作为结果。
以下是使用JS实现该功能的代码:
```javascript
function getSameValues(arr1, arr2) {
let res = arr1.filter(item => arr2.includes(item));
return res;
}
let arr1 = [1, 2, 3, 4, 5];
let arr2 = [3, 4, 5, 6, 7];
let result = getSameValues(arr1, arr2);
console.log(result); // 输出 [3, 4, 5]
```
上述代码中,我们给定了两个测试数组arr1和arr2,然后调用getSameValues()函数来获取两个数组中的相同值,并将结果打印到控制台。输出为[3, 4, 5],即两个数组中共有的相同值。
阅读全文