前端开发JS如何判断对象(obj)是否为空

目录
文章目录隐藏
  1. 引申
  2. 核心内容
  3. 示例
  4. 结语

前端开发过程中,对数据处理是一个非常常见的操作,而且以数据处理为切入点,对于刚从事前端开发人员来说有很多相关的知识点需要了解和学习。在 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)是否为空

前端开发 JS 如何判断对象(obj)是否为空

结语

通过上面的介绍,在前端开发的时候遇到 js 判断对象 (obj) 是否为空就很简单了,知识点虽然不复杂,但是很实用,尤其是对于刚接触前端开发者来说非常实用。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 前端开发JS如何判断对象(obj)是否为空

发表回复