想要判断是不是 empty 还真的挺麻烦的

简介: 封装了一个查询控件,如果没有输入查询条件的话,就清空对应的查询条件,如果输入查询条件,则生成对应的查询对象。

封装了一个查询控件,如果没有输入查询条件的话,就清空对应的查询条件,如果输入查询条件,则生成对应的查询对象。


这里就需要判断一下用户是否输入。


可能你会说,这还容易,判断一下是不是 ‘’ 不就可以了吗?


但是没有那么简单,首先就是类型的问题。


不同的组件返回的类型是不一样的,比如 el-number返回的是number类型,就不能直接判断是不是 '' 。


el-cascader 控件返回的是一个数组。


那么首先就要判断类型,然后在做细节判断,于是有了下面的代码:

const _isEmpty = (val) => {
  switch (typeName(val)) {
    case 'null':
    case 'undefined':
      return true
      break
    case 'string':
      return val.length === 0
      break
    case 'number':
    case 'bigInt':
      return isNaN(val)
      break
    case 'array':
      return val.length === 0
      break
    default:
      return false
      break
  }
}


首先要去掉 null 和 underfined。


然后 string 类型可以判断长度,number 类型要用isNaN来判断,否则会出问题。


数组要用长度来判断。


对象嘛,目前好像不会传入对象。


好像还没有判断日期,日期被清空后好像返回null。


目前可以凑合用,以后发现问题再改进。


相关文章
|
8月前
阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
【2月更文挑战第8天】阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
122 3
|
JSON 小程序 JavaScript
小程序根据返回值是否为空判断标签是否显示
小程序根据返回值是否为空判断标签是否显示
104 0
|
3月前
|
前端开发 JavaScript
判断数组为空的方法有哪些?
本文介绍了多种判断数组是否为空的方法,包括使用 `length` 属性、隐式类型转换、`toString()`、`join()`、`every()`、`reduce()`、`filter()`、`some()` 方法以及循环。每种方法都有其适用场景,其中使用 `length` 属性和隐式类型转换最为常见和简单。文章首发于微信公众号“前端徐徐”。
309 2
判断数组为空的方法有哪些?
|
8月前
|
弹性计算 运维 Shell
实现文件存在与否的判断
【4月更文挑战第30天】
49 1
|
8月前
|
算法 前端开发 索引
判断对象是否为空
判断对象是否为空
74 0
|
前端开发
你真的会判断对象是否为空吗?
一个小小的判空,却很可能让你吃了大亏,如果一个判空没有做好,那么里面的逻辑就完全裸露了,相信你一定吃过 `NullPointerException` 的苦头!
126 0
|
数据库
【硬着头皮】你还在用size来判断集合是否为空?
【硬着头皮】你还在用size来判断集合是否为空?
107 0
【硬着头皮】你还在用size来判断集合是否为空?
split "." 的时候内容为空如何解决
split "." 的时候内容为空如何解决
172 0
|
缓存 Java vr&ar
【BUG日记】【JAVA】使用==判断两个Integer类型的值,发现if语句不起作用(正确做法:使用的判断是equals()去判断)
【BUG日记】【JAVA】使用==判断两个Integer类型的值,发现if语句不起作用(正确做法:使用的判断是equals()去判断)
219 0
|
JavaScript
判断对象为空
判断对象为空
168 0

热门文章

最新文章