JS:对象的对象的空虚
JS: Emptiness of Object of objects
如何判断objects是否为空对象?
对象的结构:
{
order: [],
search: [],
where: {
practices: [],
role: [],
status: []
}
}
我试过的
$(object).length
Returns 1
$.isEmptyObject(filterOptions)
Returns 假
也试试这个
function isEmpty (obj) {
for (var key in obj) {
if (Array.isArray(obj[key]) && obj[key].length != 0) {
return false;
} else if (typeof obj[key] == "object") {
isEmpty(obj[key])
}
return true
}
}
这不是空对象,因为它具有三个属性,并且 where
属性 也具有三个嵌套属性。
如果您想知道所有属性和嵌套属性是否都是空数组,那么我会这样做:
var isEmpty = function(obj) {
return Object.keys(obj).every(function(key) {
if (Array.isArray(obj[key])) {
return obj[key].length === 0;
} else {
return isEmpty(obj[key]);
}
})
};
var obj = {
order: [],
search: [],
where: {
practices: [],
role: [],
status: [],
x: {
y: {
z: []
}
}
}
};
console.log(isEmpty(obj));
如何判断objects是否为空对象?
对象的结构:
{
order: [],
search: [],
where: {
practices: [],
role: [],
status: []
}
}
我试过的
$(object).length
Returns 1
$.isEmptyObject(filterOptions)
Returns 假
也试试这个
function isEmpty (obj) {
for (var key in obj) {
if (Array.isArray(obj[key]) && obj[key].length != 0) {
return false;
} else if (typeof obj[key] == "object") {
isEmpty(obj[key])
}
return true
}
}
这不是空对象,因为它具有三个属性,并且 where
属性 也具有三个嵌套属性。
如果您想知道所有属性和嵌套属性是否都是空数组,那么我会这样做:
var isEmpty = function(obj) {
return Object.keys(obj).every(function(key) {
if (Array.isArray(obj[key])) {
return obj[key].length === 0;
} else {
return isEmpty(obj[key]);
}
})
};
var obj = {
order: [],
search: [],
where: {
practices: [],
role: [],
status: [],
x: {
y: {
z: []
}
}
}
};
console.log(isEmpty(obj));