javascript - 如何检查对象中是否存在键的子对象值?
问题描述:
{
"cd": {},
"person": {},
"p2": {
"foo1": {},
"foo2": {}
}
}
"cd"
没有子对象(空对象)。 "p2"
有子对象。
如何检查是否存在子对象值?javascript - 如何检查对象中是否存在键的子对象值?
答
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));
答
对于具体的孩子的名字,你可以试试这个:
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
}
答
这里有一种方式会同样处理null
和undefined
。
function isEmpty(obj) {
for (const _ in obj) return false;
return true;
}
如果你担心继承,枚举的属性,您可以添加一个.hasOwnProperty()
检查。
因此,一个空对象null
和undefined
将返回true
(为空),否则返回false
。
你想检查它是否存在任何属性的特定属性? –
@FelixKling我想检查任何使用for循环的属性 – Yunhee