我有如下所示的 JSON 对象数组,
let data = [
{
"node":[
{
"name":"aaaaa",
"count":"2",
}
]
},
{
"client":[
{
"name":"bbbbb",
"count":"2",
}
]
},
{
"ip_address":[
{
"name":"ccccc",
"count":"3",
}
]
},
{
"compute":[
{
"name":"dddd",
"count":"1",
}
]
}
]
let find_key = "ip_address";
需要检查root key是否存在(比如需要查找ip_address
是否存在)。请没有foreach。
JSFiddle 链接:https://jsfiddle.net/b9gxhnko/
尝试了以下方法,但没有成功。一些帮助将不胜感激。提前致谢。
尝试如下,但它不工作(总是返回 false
),
console.log(data[0].has(find_key)); // false
console.log(data.has(find_key)); // false
console.log(data[0].hasOwnProperty(find_key)); // false
最佳答案
你可以试试array.some()
:
let exists = data.some(x => x[find_key]);
let data = [
{
"node":[
{
"name":"aaaaa",
"count":"2",
}
]
},
{
"client":[
{
"name":"bbbbb",
"count":"2",
}
]
},
{
"ip_address":[
{
"name":"ccccc",
"count":"3",
}
]
},
{
"compute":[
{
"name":"dddd",
"count":"1",
}
]
}
]
let find_key = "ip_address";
let exists = data.some(x => x[find_key]);
console.log(exists);
关于javascript - 如何检查 JSON 对象数组中是否存在键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60940888/