前言:
有时候会碰到这种情况,判断一个对象为空,但是对于这个逻辑有时候可能想不到,因为不像Array 直接判断length==0就可了,今天就盘点一下判断对象为空的几种方法
方法:
1、将json对象转化为json字符
let data = {}; let str = JSON.stringify(data) === "{}" alert(str) //true
2、ES6的Object.keys()方法,返回值也是对象中属性名组成的数组
let data = {}; let obj = Object.keys(data); alert(obj.length === 0) //true
3、for in 循环
let data = {}; let fn = () => { for(let key in data){ return false } return true } alert(fn()) //true
4、Object.getOwnPropertyNames()方法(不兼容IE8以下的浏览器)
此方法是使用Object对象的getOwnPropertyNames方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空
let data = {}; let arr = Object.getOwnPropertyNames(data); alert(arr.length === 0) //true
5、jquery的isEmptyObject方法
let data = {}; let boo = $isEmptyObject(data); alert(boo) // true