判断一个object是否为空

798 阅读1分钟

方法一:使用for...in

for...in... 遍历属性,为真则为“非空数组”;否则为“空数组”

for (var i in obj) {
     return true  // 如果不为空,则会执行到这一步,返回true
}
return false // 如果为空,返回false

方法二:使用JSON.stringify()

JSON 自带的 stringify() 方法,用于将 JavaScript 值转换为 JSON 字符串

if (JSON.stringify(data) === '{}') {
  return false // 如果为空,返回false
}
return true // 如果不为空,则会执行到这一步,返回true

方法三:使用Object.keys()

ES6 新增的方法 Object.keys():Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组。

如果我们的对象为空,他会返回一个空数组,如下:

var a = {}
Object.keys(a) // []

可以依靠Object.keys()这个方法通过判断它的长度来知道它是否为空

if (Object.keys(object).length === 0) {
  return false // 如果为空,返回false
}
return true // 如果不为空,则会执行到这一步,返回true

或者写在一个函数中

function checkNullObj (obj) {
  return Object.keys(obj).length === 0
}

摘自:https://www.cnblogs.com/kunmomo/p/11751744.html