{
"cd": {},
"person": {},
"p2": {
"foo1": {},
"foo2": {}
}
}
"cd"
没有子对象(空对象)。
"p2"
有子对象。
如何检查是否存在子对象值?
答案 0 :(得分:1)
function hasChild(obj){
return !!Object.keys(obj).length;
}
var obj = {
"cd": {},
"person": {},
"p2": {
"foo1": {},
"foo2": {}
}
};
console.log(hasChild(obj.cd));
console.log(hasChild(obj.p2));
答案 1 :(得分:1)
对于特定的子名称,您可以尝试:
var object = {
"cd": {},
"person": {},
"p2": {
"foo1": {},
"foo2": {}
}
}
if (object.cd.hasOwnProperty("childName")) {
// Do some stuff here
}
如果您正在寻找任何孩子进入该对象,您可以尝试这个
const objectToCheckIfHasChildren = object.cd;
const children = Object.keys(objectToCheckIfHasChildren);
if (children.length > 0) {
// then children has at least one child
}
答案 2 :(得分:0)
这是一种处理null
和undefined
的方式。
function isEmpty(obj) {
for (const _ in obj) return false;
return true;
}
如果您担心继承的可枚举属性,可以添加.hasOwnProperty()
支票。
因此,空对象null
和undefined
将返回true
(为空),否则返回false
。