js基础 ---- 判断一个对象是否为空

前言

  有时候会碰到这种情况,判断一个对象为空,但是对于这个逻辑有时候可能想不到,因为不像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

  

原文地址:https://www.cnblogs.com/qlb-7/p/14486229.html