对象判空(包括属性值为空、数组为空、子对象为空)
作者:
陈大事_code | 来源:发表于
2021-02-20 09:33 被阅读0次import { isObject } from 'lodash'
// 判断对象是否为”真“空
function isObjectEmpty(obj = {}) {
// 不是对象,直接返回false
if (!isObject(obj)) return false
// 对象没有属性值,直接返回true
if (!Object.keys(obj).length) {
return true
}
// 常规情况下,有多个属性值,包括数组、子对象
for (let key in obj) {
let val = obj[key]
// 属性值为基本数据类型情况下
if (typeof val !== 'object' && val) {
return false
}
// 属性值为引用类型,数组、对象
if (typeof val === 'object') {
if (Array.isArray(val)) {
// 数组为空
if (val.length) return false
} else {
// 对象为空
if (!isObjectEmpty(val)) return false
}
}
}
return true
}
本文标题:对象判空(包括属性值为空、数组为空、子对象为空)
本文链接:https://www.haomeiwen.com/subject/xtrtfltx.html
网友评论