Node.js - 按值在数组中查找对象

Node.js - find object in array by value

我正在尝试通过其中一个键的值获取数组中的对象。

数组:

{
"privileges" : 
    [
      {
        "resource" : "login" ,
        "actions": ["true"]
      },
      {
        "resource":  "user" ,
        "actions": ["create","read"]
      }
    ]
}

let obj  = {
"privileges" : 
    [
      {
        "resource" : "login" ,
        "actions": ["true"]
      },
      {
        "resource":  "user" ,
        "actions": ["create","read"]
      }
    ]
}

function filterValue(value) {
return obj["privileges"].filter((object) => {
 return object["resource"] == value
})
}
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);

您可以使用查找方法:

const a = {
    "privileges": [
      {
        "resource" : "login" ,
        "actions": ["true"]
      },
      {
        "resource":  "user" ,
        "actions": ["create","read"]
      }
    ]
};

var objFound = a.privileges.find(obj => obj.resource === "user");