方法一:使用 JSON.stringify()
- 把对象转换成字符串进行判断
const obj = {}
const strObj = JSON.stringify(obj)
if(strObj === '{}'){
console.log('空对象')
} else {
console.log('非空对象')
}
方法二:使用 Object.keys()
- Object.keys(obj) 返回一个给定对象自身可枚举属性组成的数组
const obj = {}
const arrLen = Object.keys(obj).length
if(!arrLen){ // 如果数组长度为0是空对象
console.log('空对象')
} else {
console.log('非空对象')
}
方法三:使用 for...in 循环判断
- 进入 for...in 循环里面的是非空对象 return false,不进入 for...in 循环里面的是空对象 return true
const obj = {}
function emptyObj(obj){
for(let key in obj){
return false // 非空对象
}
return true // 空对象
}
const res = emptyObj(obj)
console.log(res)
参考资料