javascript - 判断一个双重数组变量:(不存在或者为空或者为[[]]) == true?
巴扎黑
巴扎黑 2017-05-18 11:01:34
[JavaScript讨论组]

如题:

var doubleArray ;
if(!doubleArray || (doubleArray.lenght==&& doubleArray[0].length == 0 ){
return;
}
巴扎黑
巴扎黑

全部回复(3)
滿天的星座
var isArray = function(o) {
    return Object.prototype.toString.call(o) === '[object Array]';
}

var doubleArray ;
if(!isArray(doubleArray) || !isArray(doubleArray[0]) || !doubleArray[0].length ){
    return;
}
我想大声告诉你

不完全等价。。。。。。如果限定 doubleArray 一定是二重以内的数组就等价。。。

undefined != true
null != true

都是很正常的,对于对象==其实是toPrimitive之后再进行比较。
对于Array,其实就是toString之后在进行比较,toString默认调用join
所以不论几重的数组,只要是空的,都是相当与“” == true

phpcn_u1582

自己合并一下情况把。随便写的

function isEmpty(obj) {
    if (!obj) {
        return true;
    }
    if (Array.isArray(obj)) {
        if (!obj.length) {
            return true;
        } else if (obj.length === 1 && Array.isArray(obj[0]) && obj[0].length === 0) {
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }


}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号