我有一个如下的对象:
var car =
{
"bmw":
{
"price": $100000
}
};
我正在检查对象车中是否存在物业价格:
var checkPropertyExistsInObject = function(obj, property) {
var args = Array.prototype.slice.call(arguments, 1);
for (var i = 0; i < args.length; i++) {
if (!obj || !obj.hasOwnProperty(args[i])) {
return false;
}
obj = obj[args[i]];
}
return true;
}
if(checkPropertyExistsInObject(car,'bmw','price')){
return true ;
else
return false;
我能够检查物品车中是否存在物业价格但是我想检查物业价格的长度(而不是价格的价值长度)。我无法确定如何做到这一点。
任何帮助将不胜感激!
答案 0 :(得分:2)
您可以使用Object.keys
迭代对象的键,如下所示:
var o = {bmw: {price: 1000}},
keys = Object.keys(o),
length = -1
for (var i = 0; i< keys.length; i++){
var key = keys[i];
if (key == 'bmw'){
length = key.length; // access the length here;
break;
}
}
答案 1 :(得分:1)
Object.keys将该Object的所有键作为数组提供。检查钥匙的长度。
if(checkPropertyExistsInObject(car,'bmw','price')){
// Length of the key
return Object.keys(car['bmw'])[0].length
} else{
return false;
}