查找密钥存在于json onject中

时间:2018-06-22 11:03:54

标签: javascript jquery node.js

"questions": [{
        "_id": "5b2bc4f6f1dacd2b0ca65bca",
        "updatedAt": "2018-06-21T15:32:06.237Z",
        "createdAt": "2018-06-21T15:32:06.237Z",
        "title": "What is Full form of RC",
        "answer": "opt4",
        "testId": "5b2bbccd8b30aa2a64327645",
        "__v": 0,
        "opt4": "Registeraction Certificate",
        "opt3": "Requirement Certificate",
        "opt2": "Registeration Common",
        "opt1": "Registeration Counter",
        "solution": "RC means Registeraction Certificate"
    },
    {
        "_id": "5b2bc4faf1dacd2b0ca65bcd",
        "updatedAt": "2018-06-21T15:32:10.566Z",
        "createdAt": "2018-06-21T15:32:10.566Z",
        "title": "What is Full form of RC",
        "answer": "opt4",
        "testId": "5b2bbccd8b30aa2a64327645",
        "__v": 0,
        "opt4": "Registeraction Certificate",
        "opt3": "Requirement Certificate",
        "opt2": "Registeration Common",
        "opt1": "Registeration Counter",
        "solution": "RC means Registeraction Certificate"
    }
]

以上是我在 ques.map()

中使用的数据
var ans = {
    "5b2bc4f6f1dacd2b0ca65bca": "opt4",
    "5b2bc4faf1dacd2b0ca65bcd": "opt2",
    "5b2bc4fcf1dacd2b0ca65bcf": "opt2",
    "5b2bc4fff1dacd2b0ca65bd1": "opt4",
    "5b2bc501f1dacd2b0ca65bd3": "opt2",
    "5b2bc504f1dacd2b0ca65bd6": "opt2",
    "5b2bc5facdf99b18a0b9722b": "opt2",
    "5b2bc6295865b528dceeb6b7": "opt2",
    "5b2bc6ba7f32b21f7c68e57f": "opt2",
    "5b2bc6bc7f32b21f7c68e580": "opt2"
}

我需要查找密钥是否存在于上述json对象中,但是我无法获取它。 它总是返回false。

console.log(ans);
ques.map(function(item) {
    var thisIs = ans.hasOwnProperty(item._id)
    console.log(thisIs);
})

它总是返回 false

3 个答案:

答案 0 :(得分:0)

尝试此更新的代码

没有ul ul ul.good li ... li li <a href="/findme">findme</a> ul . . . ul li a <-this

使用

jquery (down voter)

Object.keys(ques).map(function(key, index) {
  Object.keys(ques[key]).map(function(key1, index1) {
    var thisis = ans.hasOwnProperty(ques[key][key1]['_id']);
    console.log(thisis);
  });
 });

答案 1 :(得分:0)

您可以使用for循环在对象中使用match键。

ques.forEach((item)=>{
  for (var key in ans) {
    if (key == item._id){
      return true;
    }
  }
});

答案 2 :(得分:0)

  

使用@ dr-strange答案作为此答案的基础   不使用map或任何相关内容。

这是基本代码

Object.keys(ques).forEach(function(key) { //loop over upper level keys
  Object.keys(ques[key]).forEach(function(innerKey) { //loop second level keys
    var thisIs = ans.hasOwnProperty(ques[key][innerKey]['_id']); //compare keys
    console.log(thisIs);
    return; // break loop
  });

});

var ques = {
  "questions": [{
      "_id": "5b2bc4f6f1dacd2b0ca65bca",
      "updatedAt": "2018-06-21T15:32:06.237Z",
      "createdAt": "2018-06-21T15:32:06.237Z",
      "title": "What is Full form of RC",
      "answer": "opt4",
      "testId": "5b2bbccd8b30aa2a64327645",
      "__v": 0,
      "opt4": "Registeraction Certificate",
      "opt3": "Requirement Certificate",
      "opt2": "Registeration Common",
      "opt1": "Registeration Counter",
      "solution": "RC means Registeraction Certificate"
    },
    {
      "_id": "5b2bc4faf1dacd2b0ca65bcd",
      "updatedAt": "2018-06-21T15:32:10.566Z",
      "createdAt": "2018-06-21T15:32:10.566Z",
      "title": "What is Full form of RC",
      "answer": "opt4",
      "testId": "5b2bbccd8b30aa2a64327645",
      "__v": 0,
      "opt4": "Registeraction Certificate",
      "opt3": "Requirement Certificate",
      "opt2": "Registeration Common",
      "opt1": "Registeration Counter",
      "solution": "RC means Registeraction Certificate"
    }
  ]
}


var ans = {
  "5b2bc4f6f1dacd2b0ca65bca": "opt4",
  "5b2bc4faf1dacd2b0ca65bcd": "opt2",
  "5b2bc4fcf1dacd2b0ca65bcf": "opt2",
  "5b2bc4fff1dacd2b0ca65bd1": "opt4",
  "5b2bc501f1dacd2b0ca65bd3": "opt2",
  "5b2bc504f1dacd2b0ca65bd6": "opt2",
  "5b2bc5facdf99b18a0b9722b": "opt2",
  "5b2bc6295865b528dceeb6b7": "opt2",
  "5b2bc6ba7f32b21f7c68e57f": "opt2",
  "5b2bc6bc7f32b21f7c68e580": "opt2"
}



Object.keys(ques).forEach(function(key) {
  Object.keys(ques[key]).forEach(function(innerKey) {
    var thisIs = ans.hasOwnProperty(ques[key][innerKey]['_id']);
    console.log(thisIs);
    return;
  });
   });