js判断对象是否为空对象的方法总结

在面试或者开发过程中,我们经常会遇到这样一个问题——如何判断一个对象是否为空对象?下面让我们一起来总结一下吧!

方法1:JSON.stringify()方法

  • 原理:将对象转换成字符串,再判断是否等于“{}”
let obj = {
    
    };
console.log(JSON.stringify(obj) === "{}");  // true

方法2:for in方法

var obj = {
    
    };
var fn = function () {
    
    
  for (var key in obj) {
    
    
    return false;  // 若不为空,可遍历,返回false
  }
  return true;
};
console.log(fn()); // true

方法3:Object.keys()方法

  • 原理:Object.keys()方法,返回对象的属性名组成的一个数组,若长度为0,则为空对象(ES6的写法)
let obj = {
    
    };
let arr = Object.keys(obj);
console.log(arr.length == 0); // true

方法4:Object.getOwnPropertyNames()方法

  • 原理:Object.getOwnPropertyNames()方法获取对象的属性名,存到数组中,若长度为0,则为空对象。
var obj = {
    
    };
var arr = Object.getOwnPropertyNames(obj);
console.log(arr.length == 0); // true

方法5:jquery 的 isEmptyObject()方法

  • 原理:利用for in的方式来判断(注意:使用这种方式记得引用jquery)。
var obj = {
    
    };
var b = $.isEmptyObject(obj);
console.log(b); //  true

猜你喜欢

转载自blog.csdn.net/DZQ1223/article/details/132591439