判断数组不为空

52次阅读

共计 412 个字符,预计需要花费 2 分钟才能阅读完成。

假设后台返回的接口数据 res 里包含了一个字段 list,list 不是空数组的时候我们才会进行循环,否则就会报错,但是怎么判断他不是空数组呢?
let list=res.list 
if(list){
    if(list.length>0){
            // 循环
    }
}
上面的代码中我是在第二层判断里进行的数组循环,为什么要多此一举加一层 list.length>0 的判断呢?
javaScript 里 null、数字 0、空字符串这些在 if 判断里都会被转化为 false,但是如果后台直接返回一个空数组[],在判断里是会被转化成 true 的, 因此还要再加一层判断 list.length>0, 同时写判断的时候要注意,这两个判断是嵌套关系,不能写成 list&&list.length>0,如果 list 的值为 null,&& 后面的 list.length>0 就会报错,因为编译时找不到 list 的 length 属性。
ps: 写成三目运算符代码会更简洁

正文完
 0