js如何判断Object是否为空?(属性是否为空)


文章目录

  • ​​js如何判断Object是否为空?(属性是否为空)​​
  • ​​方法一: 最常见的思路,`for...in...` 遍历属性,为真则为“`非空数组`”;否则为“`空数组`”​​
  • ​​方法二: 通过 `JSON` 自带的 `stringify()` 方法来判断:​​
  • ​​方法三: ES6 新增的方法 `Object.keys()`:​​
  • ​​方法四:`jquery` 的 `isEmptyObject` 方法​​


在使用JavaScript的时候,时不时就会遇到判断如何对象Object是否为空,所以汇总了一下,方便查阅,我一般是使用 ​​方法二​​。


​js 判断一个 object 对象是否为空,下面汇总了几种判断方法:​

方法一: 最常见的思路,​​for...in...​​​ 遍历属性,为真则为“​​非空数组​​​”;否则为“​​空数组​​”

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

方法二: 通过 ​​JSON​​​ 自带的 ​​stringify()​​ 方法来判断:


JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。


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

这里需要注意为什么不用 toString(),因为它返回的不是我们需要的。

var a = {}
a.toString() // "[object Object]"

方法三: ES6 新增的方法 ​​Object.keys()​​:


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


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

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

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

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

方法四:​​jquery​​​ 的 ​​isEmptyObject​​ 方法

此方法是jquery将2方法(for in)进行封装,使用时需要依赖jquery

var data = {};
var b = $.isEmptyObject(data);
alert(b);//true


js如何判断Object是否为空?_数组