js判断数组是否为空 判断任意变量是否为空(非空判断)

1、一般情况下判断一个数组是否为空可以用(明确该字段为数组类型)

arr.length == 0

来判断

但是还有一种情况时不能确定数组是否定义,比如接口传回的数据中如果没有这个字段,就会报错

Cannot read properties of undefined (reading 'length')

 

 这种情况下length就不再适用

可以使用arr != true 来判断,数组为空数组或者未定义都适用,返回结果为true即这个数组为空

 2、isEmpty 返回值为true表示为空(NaN , [] , {} , undefined , null , " " ),false为有值

复制代码
/**
 * 判断是否有值,0不发生转换,数字0和字符串0都是false,即 不为空
 * 空数组也返回true,即为空
 * @param v
 * @returns {boolean}
 */function isEmpty(v) {
  switch (typeof v) {
    case 'undefined':
      return true;
    case 'string':
      if (v.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true;
      break;
    case 'boolean':
      if (!v) return true;
      break;
    case 'number':
      if (isNaN(v)) return true; // 0不发生转换,数字0和字符串0都是false,即 不为空
      break;
    case 'object':
      if (null === v || v.length === 0) return true;
      for (var i in v) {
        return false;
      }
      return true;
  }
  return false;
}
复制代码

 

posted @   从入门到入土  阅读(5500)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示