如何判断一个对象是否为空{}

我们想要判断对象是否为空,像基本类型那样判断是不可以的, ==={} ?这样是错误的,
因为只是比较引用地址是否相同,所以可以采取下面的方法来进行判断

1.根据for...in遍历对象,如果存在则返回true,否则返回false

for ( let i in obj) {
	return true;
}
return false

 

2.利用JSON自带的JSON.stringify()方法来判断
大概思路就是转化为字符串’{}'来进行判断

if (JSON.stringify(obj) === '{}') {
	return true;
}
return false;

 

3.利用ES6中Object.keys()来进行判断 (推荐)
Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组。
如果我们的对象为空,他会返回一个空数组。

Object.keys(obj).length === 0 ? '空' : '不为空'
posted @ 2021-01-26 12:24  yuan_bao_er  阅读(3120)  评论(0编辑  收藏  举报