方法一: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