Javascript 如何基于密钥匹配获取对象

Javascript 如何基于密钥匹配获取对象,javascript,jquery,Javascript,Jquery,从包含所有键的我的数组中查找对象时出现问题 我想获取与键的数组匹配的所有对象 问题:如何基于密钥获取对象 请先帮我谢谢 var-alluser=['ab','ac','dc']; var allData=[ { “_id”:132323, “ab”:{ 'name':'abonly', 年龄:34岁 }, }, { “_id”:9993, “dc”:{ 'name':'dconly', 年龄:34岁 }, }, ] 对于(var i=0;i var-alluser=['ab','ac','dc

从包含所有
键的我的
数组
中查找
对象
时出现问题

我想获取与
键的
数组
匹配的所有对象

问题:如何基于密钥获取对象

请先帮我谢谢

var-alluser=['ab','ac','dc'];
var allData=[
{
“_id”:132323,
“ab”:{
'name':'abonly',
年龄:34岁
},
},
{
“_id”:9993,
“dc”:{
'name':'dconly',
年龄:34岁
},
},
]
对于(var i=0;i
var-alluser=['ab','ac','dc'];
var allData=[
{
“_id”:132323,
“ab”:{
'name':'abonly',
年龄:34岁
},
},
{
“_id”:9993,
“dc”:{
'name':'dconly',
年龄:34岁
},
},
];
var匹配=[];
var对象=[];
allData.forEach(函数(v){
if(alluser.indexOf(Object.keys(v)[1])!=-1){
推(v);
objects.push(v[Object.keys(v)[1]]);
}
});
console.log(对象);
console.log(匹配);
您可以使用方法来实现这一点

var-alluser=['ab','ac','dc'];
var allData=[
{
“_id”:132323,
“ab”:{
'name':'abonly',
年龄:34岁
},
},
{
“_id”:9993,
“dc”:{
'name':'dconly',
年龄:34岁
},
},
]
映射(函数(el){
map(函数(datael){
if(datael.hasOwnProperty(el)){
console.log(datael[el]);
}
})  

})
如果要查找单个元素,请使用
查找
,但您希望所有元素都符合此标准,
过滤器
是您应该使用的。如果您想了解代码的解释,请随时询问

var-alluser=['ab','ac','dc'];
设item1={“id”:132323,“ab”:{“name”:“abonly”,“age”:34}
设item2={u id':9993,'dc':{'name':'dconly','age':34}
var allData=[item1,item2]
让foundObject=allData.filter(对象=>{
设objKeys=Object.keys(对象)
返回objKeys.find(key=>allUsers.includes(key))
})

console.log(foundObject)
非常接近。您必须在
find
中将一个参数传递到回调函数中。该参数表示数组中的单个元素。这就是我不知道如何处理的问题do@EaB如果一个答案解决了你的问题,请考虑接受答案。以下是你如何做的:-非常喜欢<代码> HasObjys