检查数组是否已定义且具有长度

 书友42218068 发布于 2023-02-13 14:34

我有这样的javascript查询,用于检查undefined数组和empty数组:

if(array){
    if(array.length > 0){
       function1();
    }else{
       function2();
    }
}else{
    function2();
}

我尝试过类似的东西

if(array && ( array.length > 0)){
    function1();
}else{
    function2();
}

但没有骰子,得到一个variable is undefined错误.根据这个答案做if(variable)作品只是罚款这种用例,但字符串,而不是数组这仅适用.在这样的情况下,有没有办法在javascript中做二合一?

1 个回答
  • ...我得到一个变量是未定义的错误

    这意味着array未声明所有的任何地方.为了抵御这种情况,您可以使用typeof:

    if (typeof array !== "undefined" && array && array.length > 0)
    

    实例 | 资源

    完全未定义的符号与解析为包含值undefined.Confusing 的变量的已定义符号之间存在差异,但为true.你可以安全地使用typeof任何东西,甚至可以在任何地方使用完全未声明的东西,但是如果你试图读取未在任何地方声明的东西的,你会得到它ReferenceError说它不存在.

    2023-02-13 14:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有