前端开发JS如何判断对象(obj)是否为空
在前端开发过程中,对数据处理是一个非常常见的操作,而且以数据处理为切入点,对于刚从事前端开发人员来说有很多相关的知识点需要了解和学习。在JS中判断对象 (obj) 是否为空也是比较常见的操作,那么本文就来分享一下关于判断对象的格式的方式。
引申
首先来看一个网上的比较经典的关于js判断对象是否为空的例子,具体内容如下所示:
js 判断一个对象是否为空:
当obj="",obj=undefined,obj=null,obj=NaN 的时候 if(obj)为false;
obj不为空的时候 if(obj) 为true。
看完上面的网上的例子之后是不是觉得很简单,但是如果按照上述步骤操作,会成功么?请看官自行先试验一下是否可以,这里就不再演示最后的结果。
核心内容
下面来讲解一下比较专业的方法,具体方法如下所示。
js判断对象是否为空的方式有五种,其中目前比较流行的有三种:JSON.stringify()
、for...in
循环判断、Object.keys()
,剩余两种为:jquery的isEmptyObject
方法、Object.getOwnPropertyNames()
方法。本文只来讲解一下当下比较常用的三种判断对象对象是否为空的方法,剩下的两种这里不再介绍。
方法一:JSON.stringify()方法
通过JSON.stringify()
将json对象转化为json字符串,再判断该字符串是否为”{}”,这就直接可以得出来这个对象是否为空。
var data = {}; var a = (JSON.stringify(this.projectData) == "{}"); //把data转换为字符串a if(a === true)){ //如果data为空,返回为true return; }
方法二:for…in 循环判断
通过 for...in
循环来判断对象 (obj) 是否为空,直接通过for...in
循环来对对象进行处理。
var data = {}; var a = function() { for(var key in data) { return false; } return true; } alert(a()); //为true,说明data为空对象
方法三:Object.keys()
通过Object.keys()
来进行对象 (obj) 是否为空的判断,该方法也是ES6新增的方法, 返回值是对象中属性名组成的数组。
var data = {}; var array = Object.keys(data); if(array.length === 0){ //如果数组array的长度为0 ,则返回为true,说明data对象为空 return ; }
示例
最后举一个实战中的简单实例,一目了然的来使用JS判断对象 (obj) 是否为空的方式:
nextClick() { //打印出来this.projectData console.log("this.projectData",this.projectData); //根据this.projectData打印出来的结果,对this.projectData进行json格式的转换,然后就可以直接使用转换后的格式,true为空 var tmpStr = (JSON.stringify(this.projectData) == "{}"); if (tmpStr == true) { //true为空 this.$toast("请选择!"); return; } },
结语
通过上面的介绍,在前端开发的时候遇到js判断对象 (obj) 是否为空就很简单了,知识点虽然不复杂,但是很实用,尤其是对于刚接触前端开发者来说非常实用。
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » 前端开发JS如何判断对象(obj)是否为空