javascript - NodeJS : How to check if a key exists in an array of JSON object

标签 javascript arrays json node.js

我有一个 JSON 对象数组 imdb,我想检查某个键是否存在。我尝试了几种不同的方法,但没有一个显示出正确的结果。我调查了this post但没有帮助。下面的代码

var imdb = [{"123":"hi"}, {"234":"hello"}];  //array of JSON object
var valEventTime = 123;                      //key I want to find if exists


//approach 1
function getValueByKey(key, data) {
    var i, len = data.length;

    for (i = 0; i < len; i++) {
        if (data[i] && data[i].hasOwnProperty(key)) {
            return data[i][key];
        }
    }

    return -1;
}

if(getValueByKey(valEventTime, imdb) > -1){
  console.log("Yes");

}
else {
  console.log("NOT")
}


//approach 2
if (imdb[valEventTime]) {
    console.log("Yes");
} else {
    console.log("NOT")
}

//approach 3
var keys=Object.keys(imdb)
for(var i=0;i<keys.length;i++){
     if(keys[i]==valEventTime)
     {//check your key here
       console.log("Yes")
     }
     else console.log("NOT")
}

即使我正在搜索已经存在的 key (123),输出始终显示 NOT。请建议。

最佳答案

您的解决方案的问题是您正在尝试搜索整数键,而您的 json 键是字符串。

var imdb = [{"123":"hi"}, {"234":"hello"}]; // key is string

var valEventTime = 123; // key is integer

var imdb = [{"123":"hi"}, {"234":"hello"}]; 
var valEventTime = "123";  

var obj = imdb.some((val) => {
	return Object.keys(val).includes(valEventTime);
})

console.log(obj);

关于javascript - NodeJS : How to check if a key exists in an array of JSON object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763906/

相关文章:

javascript - 将多边形导入 Google 我的 map

javascript - Jquery动画问题

javascript - jQuery Animate 不会为我移动

c - 创建整数数组时出现溢出?

python - 按不同数量移动 numpy 数组中的值

ios - 将 Alamofire POST 的 JSON 响应转换为可以显示的变量

php - php JSON解析问题

javascript - 即使在 onload 之后,仍保持先前 jquery 全局变量的值不变

java - 如何在 Java 中按字母顺序组织对象数组

iphone - Objective C 解析 JSON,字典返回 NSCFString 而不是 NSArray