如何在JavaScript中为具有多个动态参数的查询构建过滤器

如何在JavaScript中为具有多个动态参数的查询构建过滤器,javascript,Javascript,我有一个对象数组: const myArr = [{ name: 'a', age: 23, nationality: 'swedish', }, { name: 'b', age: 23, nationality: 'swedish', }, { name: 'c', age: 25, nationality: 'spanish', }, ]; 我想使用以下参数进行筛选: const myQuery

我有一个对象数组:

const myArr = [{
    name: 'a',
    age: 23,
    nationality: 'swedish',
  },
  {
    name: 'b',
    age: 23,
    nationality: 'swedish',
  },
  {
    name: 'c',
    age: 25,
    nationality: 'spanish',
  },
];
我想使用以下参数进行筛选:

const myQuery = {
  name: 'a',
  nationality: 'swedish'
}
如何为多个动态参数构建过滤器?我可以查找“姓名”、“年龄”、“国籍”或其他类似“已婚”的信息。我使用这些信息获取myQuery的密钥,然后使用

如果我找到了未定义的内容,则返回undefined,object返回True

若我找不到对象,我得到布尔变量,对象返回为False

const myArr=[{
名称:‘a’,
年龄:23,,
国籍:'瑞典',
},
{
名称:‘b’,
年龄:23,,
国籍:'瑞典',
},
{
名称:‘c’,
年龄:25岁,
国籍:'西班牙语',
},
];
常量myQuery={
国籍:“瑞典”
}
常量过滤器阵列=(阵列,查询)=>{
返回arr.filter(rec=>{
return(Object.keys的类型)(查询)
.find(key=>rec[key]!==query[key])====='undefined')
})
}
log(filterArray(myArr,{国籍:'瑞典'}))
log(filterArray(myArr,{姓名:'a',国籍:'swedish'}))

log(filterArray(myArr,{name:'a',national:'spanish'}))
您是否尝试显示?你至少提出了一些基本的方法/概念吗?