首页 > 其他分享 >isEmpty工具函数

isEmpty工具函数

时间:2023-08-23 17:46:27浏览次数:31  
标签:false 函数 object value isEmpty return 工具 true

在**项目开发中,需要在对未知数据类型做判空处理,期待空值列表:undefined、null、''、NaN、[]、{}, 注意非空: 0、false

而常见的lodash.isEmpty, !value均不能直接满足我们的需求,那么我们需要抽离一个工具函数isEmpty;

 

接口返回表格字段的数据:
表格中使用switch: 0(或者false)表示禁用,1(或者true)表示启用,undefined 表示该字段无值;
表格中使用tag: 多个tag使用数组表示['王小虎'、'张春阳'], [] || null 表示该字段无值;
即在常见的后端接口返回表格数据中需要满足该需求定义的空值。

 

 

对比lodash.isEmpty!value

 

 

undefined

null

''

[]

{}

NaN

0

false

备注

lodash.isEmpty

true

true

true

true

true

true // 不支持判断number类型

true // 不支持判断number类型

true // 不支持判断Boolean类型

传入不支持数据类型时返回true

!value

true

true

true

false

false

true

true

true

传入其他数据类型时返回false

 

在**项目开发中,需要在对未知数据类型做判空处理,期待空值列表:undefined、null、''、NaN、[]、{}, 注意非空: 0、false

而常见的lodash.isEmpty, !value均不能直接满足我们的需求,那么我们需要抽离一个工具函数isEmpty; 

// 空值: [undefined, null, NaN, [], {}], 注意非空:0, false;
function isEmpty(value) {
  switch (Object.prototype.toString.call(value)) {
    case '[object Undefined]':
      return value === void 0;
    case '[object Null]':
      return value === null;
    case '[object Number]':
      return isNaN(value);
    case '[object String]':
      return value === "";
    case '[object Boolean]':
      return false;
    case '[object Object]':
      return Object.keys(value).length === 0;
    case '[object Array]':
      return value.length === 0;
    default:
      return false;
  }
}

 

标签:false,函数,object,value,isEmpty,return,工具,true
From: https://www.cnblogs.com/yeminglong/p/17652350.html

相关文章

  • 无涯教程-PHP Online Test函数
    该PHP在线测试模拟了真正的在线认证考试。您将看到基于PHP概念的多项选择题(MCQ),将为您提供四个options。您将为该问题选择最合适的答案,然后继续进行下一个问题,而不会浪费时间。完成完整的考试后,您将获得在线考试分数。总问题数-20最长时间-20分钟StartTest参......
  • fstat函数
    功能由文件描述符获取文件的状态头文件#include<sys/stat.h>#include<unistd.h>函数声明intfstat(intfiledes,struct*buf);两个参数分别为:intfiledes:已经打开的文件描述符,通常由open函数返回struct*buf:用来存放fstat所获取的文件的状态。fstat()用来将......
  • fprintf()函数
    fprintf()用于文件操作#include<stdio.h>intfprintf(FILE*stream,constchar*format,...);fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件.比如charname[20]="Mary";FILE*out;out=f......
  • Kanban:促进价值流动的艺术-Leangoo领歌免费敏捷看板工具
    转自:本文转自Leangoo领歌敏捷工具刚接触敏捷转型的团队对Kanban和Scrum的基本概念和应用环境都不陌生,但都是作为被动接受者来理解和使用的,这篇文章的目的是希望基于底层逻辑来阐述看板的艺术来帮助团队加深理解,从而帮助ScrumMaster在带领团队的过程中灵活运用。Kanban的艺术......
  • 私密信息管理工具 Vault 快速入门
    什么是VaultVault是一个基于身份的秘密和加密管理系统。秘密是您想要严格控制访问的任何内容,例如API加密密钥、密码和证书。Vault提供由身份验证和授权方法控制的加密服务。使用Vault的UI、CLI或HTTPAPI,可以安全地存储和管理、严格控制(限制)和审核对机密和其他敏感数据......
  • 【C语言基础语法】5. 函数
    一、函数概述1.1函数的作用函数的使用可以省去重复代码的编写,降低代码重复率函数可以让程序更加模块化,从而有利于程序的阅读,修改完善1.2函数的调用:产生随机数调用函数时,需要关心:头文件:包含指定的头文件函数名字:函数名字必须和头文件声明的名字一样功能:需要知道此函数作用后才能调......
  • 无涯教程-PHP Online Quiz函数
    以下测验提供与PHP相关的多项选择题(MCQ)。您将必须阅读所有给定的答案,然后单击正确的答案。如果您不确定答案,则可以使用显示答案按钮检查答案。您可以使用下一个测验按钮检查测验中的新问题集。Q1-关于PHP,以下哪项是正确的?A-PHP可以访问cookie变量并设置cookie。......
  • SG函数
    SG函数先定义,SG函数对应有向无环图(DAG)上的一种游戏:有一枚棋子在起点上,每次可以沿着边往后移动,谁无法移动谁就输了。公平组合游戏可以转换成他,只需要将局面中的所有状态看成一个节点,合法行动看成有向边。判断必胜需要求解的就是起点的SG。对于终点(没有出边),\(SG=0\)。对于其......
  • 设计、施工项目成果汇报还在用截图、工具软件录屏?图新说软件新推出高清截图、漫游录屏
        工程设计施工领域,项目成果汇报是非常重要的一环。然而,许多设计师和施工方还在使用传统的截图或借助软件录屏的方法来展示他们的方案设计成果、施工进度结果。这种方法不仅效率低下,而且很难准确地传达设计理念和施工效果。为了解决方案汇报难题,中科图新地球打造图新说......
  • Kanban:促进价值流动的艺术-Leangoo领歌免费敏捷看板工具
    ​转自:本文转自Leangoo领歌敏捷工具:https://www.leangoo.com刚接触敏捷转型的团队对Kanban和Scrum的基本概念和应用环境都不陌生,但都是作为被动接受者来理解和使用的,这篇文章的目的是希望基于底层逻辑来阐述看板的艺术来帮助团队加深理解,从而帮助ScrumMaster在带领团队的......