使用lodash检查对象中是否存在密钥

时间:2016-02-26 12:37:18

标签: javascript arrays object lodash

我需要帮助lodash因为我不理解函数式编程,而lodash对于对象/数组操作非常有帮助。

我需要搜索对象内的对象,如果key存在则返回true。我设置了一个jsfiddle。 Apreciate你的帮助。

    var dependsOn={
      "Cadastro": {
        "RHID": "RHID"
      },
      "Agregados":{
        "CD_DOC":"CD_DOC"
      }
      "Documentos":{
        "RHID":"CD_DOC"
      }
    }
    var field='RHID'

alert(_.contains(_.keys(dependsOn), field))

https://jsfiddle.net/88gwp87k/

3 个答案:

答案 0 :(得分:7)

试试这个

var dependsOn={
  "Cadastro": {
    "RHID": "RHID"
  },
  "Agregados":{
    "CD_DOC":"CD_DOC"
  },
  "Documentos":{
    "RHID":"CD_DOC"
  }
}
var field='RHID'

alert(_.some(dependsOn, function(o) { return _.has(o, field); }));

更新了您的小提琴:https://jsfiddle.net/88gwp87k/1/

答案 1 :(得分:5)

尝试一下。很简单

_.has(dependsOn, field)

如果dependsOn中存在RHID键,则返回true。在上述情况下,它返回false

答案 2 :(得分:0)

_.chain(dependsOn).findKey(field).isString().value();