工作中经常遇到需要判断某个值是否为空,但有时候是数组,有时候是对象,每次都去判断就很麻烦,封装一个通用函数,不需要管是什么类型
function isEmpty(data, options = {}) {
let {isCheckZero = true} = options
if (typeof data === "undefined") {
return !data;
} else if (typeof data === "string") {
return /^\s*$/.test(data)
} else if (typeof data === "number") {
let isZero = data === 0
if (isCheckZero) {
return !data
}else{
if(isZero) return false
return !data
}
} else if (typeof data === "object") {
if (data === null) {
return true
} else if (Array.isArray(data)) {
return !data.length
} else {
return !Object.keys(data).length
}
}
}