我试图查看该属性是否包含另一个对象。
我有这个:
{
"prop1": "value",
"prop2": "value",
"prop4": "value",
"prop5": {
"innerprop1": "value",
"innerprop2": "value"
},
"prop6": {
"innerprop3": "value",
"innerprop4": "value"
}
}
我想知道任何属性中是否有对象。
任何帮助都将不胜感激。
答案 0 :(得分:3)
请检查prop7
obj = {
"prop1": "value",
"prop2": "value",
"prop4": "value",
"prop5": {
"innerprop1": "value",
"innerprop2": "value"
},
"prop6": {
"innerprop3": "value",
"innerprop4": "value"
},
"prop7": [] // Also an object!
}
for(var key in obj) {
if(typeof obj[key] === 'object') {
console.log(key)
}
}
答案 1 :(得分:2)
var yourObject={
"prop1": "value",
"prop2": "value",
"prop4": "value",
"prop5": {
"innerprop1": "value",
"innerprop2": "value"
},
"prop6": {
"innerprop3": "value",
"innerprop4": "value"
}
}
if(typeof yourObject.prop5=='object'){
console.log("It is object")
}
if (typeof yourobject.prop5=='object'){
}
答案 2 :(得分:2)
尝试使用typeof()
方法和Object.values
Object.values
为值创建数组,Array.map()
使用条件typeof(a) == 'object'
var arr ={ "prop1": "value", "prop2": "value", "prop4":"value", "prop5": { "innerprop1": "value","innerprop2": "value" }, "prop6": { "innerprop3":"value", "innerprop4": "value" } }
//returning the keyname
console.log(Object.keys(arr).filter(a=> typeof(arr[a]) == 'object' ))
var res = Object.values(arr).map(function(a){
return typeof(a) == 'object'
})
console.log(res)

答案 3 :(得分:2)
您可以使用typeof
函数返回object
对象
var json = '{ "prop1": "value", "prop2": "value", "prop4": "value", "prop5": { "innerprop1": "value", "innerprop2": "value" }, "prop6": { "innerprop3": "value", "innerprop4": "value" } }';
jsonObject = JSON.parse(json);
var keys = Object.keys(jsonObject);
keys.forEach(function(element){
console.log(typeof(jsonObject[element]));
})