如何判断一个对象是否为空{}
我们想要判断对象是否为空,像基本类型那样判断是不可以的, ==={} ?这样是错误的,
因为只是比较引用地址是否相同,所以可以采取下面的方法来进行判断
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 ? '空' : '不为空'