121.JavaScript字符串、数据是否为空判断

1.字符串

方法1:typeof | null | ‘’ 【推荐兼容null、undefined】

JavaScript中可以使用if(typeof obj==”undefined”||obj==null||obj==””)语句通过判断字符串的数据类型来判断字符串是否为空。
function isEmpty(obj) {
if (typeof obj == “undefined” || obj == null || obj == “”) {
return true;
} else {
return false;
}
}

方法2:trim() 函数

function checkStrIsEmpty(value) {
let str = value.trim();
if (str.length == 0) {
console.log(‘字符串全是空格’);
} else {
console.log(‘输入的字符串为:’ + value);
}
}

方法3:正则表达式

var str = ‘’;
if (str.replace(/(^\s)|(\s$)/g, “”).length == 0) {
console.log(‘为空’);
}

2、数组

空数组的判断可以说是最常见的了,空数组可以理解为 new Array(),相当于声明了一个新的空数组,程序会自动在堆中为其开辟一块内存空间,需要注意的是它和 a = [] 生成的内存空间不是同一块,所以不相等。

方法1:函数方式【推荐:兼容 arr[-1] = ‘’

function isEmptyObject(e) {
var t;
for (t in e)
return !1;
return !0;
}

方法2:arr.length

let arr = [];
if (arr.length == 0) {
console.log(“数组为空”)
} else {
console.log(“数组不为空”)
}

方法3:JSON.stringify(arr) === ‘[]’

var arr = [];
if (JSON.stringify(arr) === ‘[]’) {
console.log(“数组为空”);
} else {
console.log(“数组不为空”)
}