JS:对象的对象空虚

时间:2017-02-11 00:12:20

标签: javascript jquery object is-empty

如何检查是对象的空对象?

对象的结构:

{
    order: [],
    search: [],
    where: {
        practices: [],
        role: [],
        status: []
    }
}


我尝试了什么

$(object).length 

返回1

$.isEmptyObject(filterOptions)

返回false

2 个答案:

答案 0 :(得分:1)

这不是一个空对象,因为它有三个属性,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));

答案 1 :(得分:0)

试试这个

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