2017-07-26 49 views
3

我想查看屬性是否包含另一個對象。檢查屬性中是否存在對象

我有這樣的:

{ 
    "prop1": "value", 
    "prop2": "value", 
    "prop4": "value", 
    "prop5": { 
     "innerprop1": "value", 
     "innerprop2": "value" 
    }, 
    "prop6": { 
     "innerprop3": "value", 
     "innerprop4": "value" 
    } 
} 

我想知道如果任何屬性的它有一個對象。

任何幫助,將不勝感激。

+0

obj [屬性] .Constructor ===對象的伎倆 –

回答

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) 
 
    } 
 
}

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

嘗試用typeof()方法和Object.values

  1. 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)

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])); 

})