三种常用的判断一个空对象方法

113 阅读1分钟

方法一:Object.keys():生成一个由对象的所有属性名组成的数组,如果生成的数组长度为0则表示是一个空对象

const isEmptyObject = (obj) => Object.keys(obj).length === 0;
const myObj = {};
console.log(isEmptyObject(myObj)); // 输出:true

方法二:JSON.stringify:可以将对象转换为字符串格式,如果转换后的字符串是“{}”,则对象为空

const isEmptyObject = (obj) => JSON.stringify(obj) === "{}";
const myObj = {};
console.log(isEmptyObject(myObj)); // 输出:true

方法三:for...in循环:遍历对象的所有可枚举属性,如果循环体一次都不执行,则对象为空

const isEmptyObject = (obj) => {
  for (const key in obj) {
    if (obj.hasOwnProperty(key)) {
      return false; // 存在至少一个属性,非空对象
    }
  }
  return true; // 没有属性,为空对象
};
const myObj = {};
console.log(isEmptyObject(myObj)); // 输出:true