Javascript Node.js-按值查找数组中的对象
我试图通过数组中某个键的值获取该对象 阵列:Javascript Node.js-按值查找数组中的对象,javascript,node.js,mongoose,mongoose-schema,Javascript,Node.js,Mongoose,Mongoose Schema,我试图通过数组中某个键的值获取该对象 阵列: { "privileges" : [ { "resource" : "login" , "actions": ["true"] }, { "resource": "user" , "actions": ["create","read"] } ] } 让obj={ “特权”: [ { “资源”:“登录”, “操作”:[
{
"privileges" :
[
{
"resource" : "login" ,
"actions": ["true"]
},
{
"resource": "user" ,
"actions": ["create","read"]
}
]
}
让obj={
“特权”:
[
{
“资源”:“登录”,
“操作”:[“正确”]
},
{
“资源”:“用户”,
“操作”:[“创建”、“读取”]
}
]
}
函数filterValue(值){
返回obj[“特权”]。筛选器((对象)=>{
返回对象[“资源”]==值
})
}
console.log(filterValue(“用户”))
让obj={
“特权”:
[
{
“资源”:“登录”,
“操作”:[“正确”]
},
{
“资源”:“用户”,
“操作”:[“创建”、“读取”]
}
]
}
函数filterValue(值){
返回obj[“特权”]。筛选器((对象)=>{
返回对象[“资源”]==值
})
}
console.log(filterValue(“user”))
不清楚您在问什么,但是使用Ramda搜索对象属性值时会像这样:
const a = {
"privileges": [
{
"resource" : "login" ,
"actions": ["true"]
},
{
"resource": "user" ,
"actions": ["create","read"]
}
]
}
R.find(R.propEq("resource", "login"), a.privileges);
不清楚您在问什么,但使用Ramda搜索对象属性值时会出现以下情况:
const a = {
"privileges": [
{
"resource" : "login" ,
"actions": ["true"]
},
{
"resource": "user" ,
"actions": ["create","read"]
}
]
}
R.find(R.propEq("resource", "login"), a.privileges);
您可以使用查找方法:
const a = {
"privileges": [
{
"resource" : "login" ,
"actions": ["true"]
},
{
"resource": "user" ,
"actions": ["create","read"]
}
]
};
var objFound = a.privileges.find(obj => obj.resource === "user");
您可以使用查找方法:
const a = {
"privileges": [
{
"resource" : "login" ,
"actions": ["true"]
},
{
"resource": "user" ,
"actions": ["create","read"]
}
]
};
var objFound = a.privileges.find(obj => obj.resource === "user");
请告诉我预期的结果是什么?我放置了console.log(user.role.privileges)并且我获得了以下特权:[{0':[Object],'1':[Object],actions:[]}]}@haythedfi您接受的答案不包含任何与MongoDB相关的内容,它们为什么包含这些标记?可能重复预期的结果是什么请告诉我放置console.log(user.role.privileges)我获得了以下特权:[{0':[Object],'1':[Object],actions:[]}]}@haythemfi您接受的答案不包含任何与MongoDB相关的内容,它们为什么会包含这些标记?可能是