js怎么从一个对象数组中筛选另一个对象数组
时间: 2023-05-23 22:04:46 浏览: 454
A:可以使用数组的 `filter()` 方法和 `includes()` 方法结合来筛选另一个对象数组。
假设有两个对象数组 `array1` 和 `array2`,需要将 `array2` 中的对象筛选出在 `array1` 中的对象。可以使用如下代码:
```javascript
const array1 = [{ id: 1 }, { id: 2 }, { id: 3 }];
const array2 = [{ id: 2, name: 'B' }, { id: 4, name: 'D' }, { id: 3, name: 'C' }];
const filteredArray = array2.filter(obj2 => {
return array1.some(obj1 => obj1.id === obj2.id);
});
console.log(filteredArray); // [{ id: 2, name: 'B' }, { id: 3, name: 'C' }]
```
以上代码使用 `filter()` 方法筛选 `array2` 中的对象,其中回调函数中使用了 `some()` 方法来判断当前对象在 `array1` 中是否存在,如果存在则保留,否则过滤掉。
相关问题
js怎么从一个对象数组中筛选另一个数组
中存在的元素呢?
A:可以使用Array.filter()方法和Array.includes()方法来实现。
示例代码如下:
```javascript
const arr1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Mary' }, { id: 3, name: 'Bob' }];
const arr2 = [1, 3];
const filteredArr = arr1.filter(obj => arr2.includes(obj.id));
console.log(filteredArr); // [{ id: 1, name: 'John' }, { id: 3, name: 'Bob' }]
```
在上面的示例代码中,我们首先定义了两个数组arr1和arr2。
然后我们使用filter方法遍历arr1数组中的每个元素,使用includes方法来判断该元素的id属性是否存在于arr2数组中。
如果存在,则该元素被保留;否则该元素被过滤掉。
最后,我们得到了一个筛选后的数组filteredArr,其中只包含arr1中id属性存在于arr2中的元素。
js怎么从一个数组中筛选另一个数组
A:可以使用`filter()`方法实现从一个数组中筛选另一个数组。
假设有两个数组`arr1`和`arr2`,需要从`arr1`中筛选出在`arr2`中出现过的元素,可以使用以下代码实现:
```javascript
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [2, 4, 6];
const result = arr1.filter(item => arr2.includes(item));
console.log(result); // 输出 [2, 4]
```
以上代码中,`filter()`方法用于筛选出在`arr2`中出现过的元素,`includes()`方法用于判断元素是否在`arr2`中出现过。最终返回的是一个新数组,包含了在`arr2`中出现过的元素。
阅读全文