参考博客:JS 中常用判断为空的方法

变量是否为空

function isEmpty(obj) {
for (item in obj) {
if (obj.hasOwnProperty(item)) {
return false;
}
}

return true;
}

console.log(isEmpty({ a: 1 }));
console.log(isEmpty({}));

数组是否为空

function isEmpty(arr) {
if (arr instanceof Array && !arr.length) {
return true;
}

return false;
}

console.log(isEmpty([1, 2]));
console.log(isEmpty([]));

变量是否为空

str === '' || str.trim().length === 0

判断数据是数组还是对象

function _isArrOrObj(value) {
if (typeof value !== 'object') return '既不是数组也不是对象';
// if (value instanceof Array) return '是数组'
if (Array.isArray(value)) return '是数组'
return '是对象'
}

console.log(_isArrOrObj(1)) // '既不是数组也不是对象'
console.log(_isArrOrObj({})) // '是对象'
console.log(_isArrOrObj([])) // '是数组'
console.log(_isArrOrObj(function(){})) // '既不是数组也不是对象'