前端js判空处理,js字符串判空,js数组判空

2024-04-12 12:36

本文主要是介绍前端js判空处理,js字符串判空,js数组判空,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 js 中,字符串为空会有这么几种形式,“”,null,undefined,如果在已知变量为空串的情况下可以直接采用 if (string.length == 0) 这种形式,今天总结一下常用的几种方法,方便下次查阅。

1.1、typeof | null | ‘’ 「推荐👉:兼容null、undefined 」

function isEmpty(obj) {if (typeof obj === 'undefined' || obj == null || obj === '') {return true;} else {return false;}
}

该方法是目前使用比较多的,关于 typeof ,js 中提供了 typeof 运算符,用来检测一个变量的类型。

方法使用示例:

if (!isEmpty(value)) {alert(value);
}esle{alert("数据为空");
}

1.2、trim() 函数

function checkStrIsEmpty(value) {let str = value.trim();if (str.length == 0) {console.log('字符串全是空格');} else {console.log('输入的字符串为:' + value);}
}

1.3、正则表达式

var str = '';
if (str.replace(/(^\s*)|(\s*$)/g, "").length ==0)
{console.log('为空');
}

2、数组

空数组的判断可以说是最常见的了,空数组可以理解为 new Array(),相当于声明了一个新的空数组,程序会自动在堆中为其开辟一块内存空间,需要注意的是它和 var a = [] 生成的内存空间不是同一块,所以不相等。

2.1、arr.length

let arr = [];
if (arr.length == 0){console.log("数组为空")
}else {console.log("数组不为空")
}

2.2、JSON.stringify(arr) === ‘[]’

var arr = [];
if(JSON.stringify(arr) === '[]'){console.log("数组为空");
}else {console.log("数组不为空")
}

2.3、函数方式 「推荐👉:兼容 arr[-1] = ‘’ 」

function isEmptyObject(e) {  var t;  for (t in e)  return !1;return !0;
}  

使用示例:

if (!isEmptyObject(arr)) {console.log("数组为空");
}else {console.log("数组不为空")
}

这篇关于前端js判空处理,js字符串判空,js数组判空的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897152

相关文章

浅析python如何去掉字符串中最后一个字符

《浅析python如何去掉字符串中最后一个字符》在Python中,字符串是不可变对象,因此无法直接修改原字符串,但可以通过生成新字符串的方式去掉最后一个字符,本文整理了三种高效方法,希望对大家有所帮助... 目录方法1:切片操作(最推荐)方法2:长度计算索引方法3:拼接剩余字符(不推荐,仅作演示)关键注意事

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr