js判断对象为空的方法

在异步请求中我们常常要对后台返回的数据进行判断

当然后台会返回成功状态的数值比如下图:

在这里插入图片描述

成功的时候可以这么判断data.data.length==0,然后再做后续的操作,但也会碰到其他的返回结果比如是个对象?
在这里插入图片描述
这个时候就如果单纯的通过返回状态和length ==0 就无法满足业务需求

if(data.errCode==0){   // 成功的时候需要做什么
 	if(data.data.length ==0){ 
 	//这个时候 如果data.data是一个对象的话data.data.length就会报错
 	}
	}else{

   }

所以完善的判断才能满足业务需求,所以这个时候就需要先了解怎么判断对象为空

判断对象为空

方法一:

var obj = {};


JSON.stringify(a) =="{}"     //true

方法二:

var obj = {};


function b() {
for(var key in obj) {
return false;
}
return true;
}

方法二:

var obj = {};


方法三:
Object.keys(obj ).length == 0

完美的逻辑判断

if(data.errCode==0){   // 成功的时候需要做什么
  let check = JSON.stringify(data.data) ;
	 if(check =="{}"||check =="[]"||check =="null"){
	 	 return alert( "返回数据为空,给予提示")
	 }else{
	 	//业务逻辑
	 }

	}else{

   }
当然这个方式适合了很多的数据返回格式, 但也有一些比较奇葩的格式,具体还要视情况而定,但也离不开判断数组和对象。