以下是一个示例代码,使用另一个对象数组的键值对来过滤对象数组:
// 定义对象数组
let arr1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Alice' },
{ id: 3, name: 'Bob' },
];
// 定义另一个对象数组作为过滤器
let arr2 = [
{ id: 1 },
{ id: 3 },
];
// 使用filter方法来过滤对象数组
let filteredArr = arr1.filter(obj1 => {
// 使用some方法来判断arr2中是否存在与obj1.id相等的元素
return arr2.some(obj2 => obj2.id === obj1.id);
});
console.log(filteredArr);
在上面的示例代码中,我们使用了filter
方法来过滤对象数组arr1
。在filter
方法的回调函数中,我们使用some
方法来判断arr2
中是否存在与obj1.id
相等的元素。如果存在,则返回true
,表示保留该元素;如果不存在,则返回false
,表示过滤掉该元素。
上述示例代码的输出结果为:
[
{ id: 1, name: 'John' },
{ id: 3, name: 'Bob' },
]
可以看到,输出结果中只保留了arr1
中与arr2
中相同的元素。
上一篇:按另一个对象对字符串对象进行排序