{
"myJSONArrayObject": [
{
"12": {}
},
{
"22": {}
}
]
}
我有上面的JSON Array对象。如何检查
myJSONArrayObject
是否具有特定密钥?这种方法不起作用:
let myIntegerKey = 12;
if (myJSONArrayObject.hasOwnProperty(myIntegerKey))
continue;
当它包含一个键时,它似乎返回false;而当它不包含键时,它返回true。
最佳答案
myJSONArrayObject
是一个数组。它没有12
作为属性(除非数组中有12个以上的项目)
因此,检查数组中对象的some
是否具有myIntegerKey
作为属性
const exists = data.myJSONArrayObject.some(o => myIntegerKey in o)
或者
myIntegerKey
始终是自己的财产const exists = data.myJSONArrayObject.some(o => o.hasOwnProperty(myIntegerKey))
这是一个片段:
const data={myJSONArrayObject:[{"12":{}},{"22":{}}]},
myIntegerKey = 12,
exists = data.myJSONArrayObject.some(o => myIntegerKey in o);
console.log(exists)