javascript - javascript过滤两个对象数组
问题描述
我有两个对象数组,过滤器和用户。我想遍历每个用户并检查他的名字是否与过滤器匹配。
var filter = [
{name: 'John'},
{name:'Tom'}
]
var users = [{
name: 'John',
email: 'johnson@mail.com',
age: 25,
address: 'USA'
},
{
name: 'Tom',
email: 'tom@mail.com',
age: 35,
address: 'England'
},
{
name: 'Mark',
email: 'mark@mail.com',
age: 28,
address: 'England'
}
];
我试过这个,但没有运气。
users= users.filter(function(item) {
filter.forEach(function (key) {
if (item.name=== undefined || item.name == filter[key.name])
return false;
})
return true;
});
console.log(users)
我正在寻找类似的结果。
[
{
name: 'John',
email: 'johnson@mail.com',
age: 25,
address: 'USA'
},
{
name: 'Tom',
email: 'tom@mail.com',
age: 35,
address: 'England'
}
]
解决方案
推荐阅读
- python - pyautogui 库自动单击“e”脚本不会与我的游戏交互?[Python]
- python - 从 Python 调用 QML 函数
- build - Netlify 找不到构建命令
- javascript - 为什么反应钩子 setState 在这里不起作用,但其他方法呢?
- macos - Xamarin Forms CollectionView 在 macOS 上工作吗?
- javascript - 如何在 Vue 3 中访问 $children 以创建选项卡组件?
- vue.js - Vue 3 –
渲染不能动画的非元素根节点 - javascript - 带有数组的 JavaScript SetInterval() 函数
- data-structures - 在prolog中基于遍历查找二叉搜索树
- android - Android - How to spin the image