美文网首页
前端js判空处理,js字符串判空,js数组判空

前端js判空处理,js字符串判空,js数组判空

作者: niceyoo_ | 来源:发表于2020-01-15 21:05 被阅读0次

    1、字符串

    js 中,字符串为空会有这么几种形式,""nullundefined,如果在已知变量为空串的情况下可以直接采用 if (string.length == 0) 这种形式,今天总结一下常用的几种方法,方便下次查阅。

    1.1、typeof | null | '' 「推荐👉:兼容null、undefined 」
    function isEmpty(obj) {
      if (typeof obj === 'undefined' || obj == null || obj === '') {
        return true;
      } else {
        return false;
      }
    }
    

    该方法是目前使用比较多的,关于 typeof ,js 中提供了 typeof 运算符,用来检测一个变量的类型。

    方法使用示例:

    if (!isEmpty(value)) {
        alert(value);
    }esle{
        alert("数据为空");
    }
    
    1.2、trim() 函数
    function checkStrIsEmpty(value) {
        let str = value.trim();
        if (str.length == 0) {
            console.log('字符串全是空格');
        } else {
            console.log('输入的字符串为:' + value);
        }
    }
    
    1.3、正则表达式
    var str = '';
    if (str.replace(/(^\s*)|(\s*$)/g, "").length ==0)
    {
        console.log('为空');
    }
    

    2、数组

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

    2.1、arr.length
    let arr = [];
    if (arr.length == 0){
       console.log("数组为空")
    }else {
       console.log("数组不为空")
    }
    
    2.2、JSON.stringify(arr) === '[]'
    var arr = [];
    if(JSON.stringify(arr) === '[]'){
        console.log("数组为空");
    }else {
       console.log("数组不为空")
    }
    
    2.3、函数方式 「推荐👉:兼容 arr[-1] = '' 」
    function isEmptyObject(e) {  
        var t;  
        for (t in e)  
            return !1;
        return !0;
    }  
    

    使用示例:

    if (!isEmptyObject(arr)) {
       console.log("数组为空");
    }else {
       console.log("数组不为空")
    }
    

    相关文章

      网友评论

          本文标题:前端js判空处理,js字符串判空,js数组判空

          本文链接:https://www.haomeiwen.com/subject/nrlxzctx.html