在实际开发中经常要判断判断一个对象是否为空,如果为空,则不能进行后续的操作
可以采取以下方法来进行判断
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 ? '空':'不为空'
实际应用
spaceObj为对象格式如下
铛铛铛,业务需求代码功能实现:
function handleConfirm() {
let isEmpty = false;
Object.values(spaceObj).forEach(item => {
if (Object.keys(item).length === 0) {
isEmpty = true;
}
});
if (isEmpty) {
return;
}
save();
}