js如何判断一个对象为空
今天碰到一个问题如何判断一个对象为空?
总结的方法如下:
1.使用jquery自带的$.isEmptyObject()函数。
var data={}; console.log($.isEmptyObject(data));//true var data={ x:123, y:456 } console.log($.isEmptyObject(data));//false
2.自己封装一个方法:
$(function(){ var data={}; console.log($.isEmptyObject(data));//true var data2={ x:123, y:456 } function objIsEmpty(obj){
var t; for(var t in obj){//如果不为空,则会执行到这一步,返回true return !1; } return !0; } console.log(objIsEmpty(data));//true console.log(objIsEmpty(data2));//false })
3.通过JSON自带的.stringify方法将对象转化为字符串来判断:
var data={}; var data2={ x:123, y:456, data:[1,2,3] }; // var str=JSON.stringify(data) ; // console.log(str); function isEmptyObj(obj){ if(JSON.stringify(obj) == "{}"){ return !0; }else{ return !1; } } console.log(isEmptyObj(data));//true console.log(isEmptyObj(data2));//false
4.通过es6的Object.keys(obj).length的方法判断。
var data = {}; var data2 = { x:123, y:456, data:[1,2,3] }; function isEmptyObj(obj){ if(Object.keys(obj).length == 0){ return !0; }else{ return !1 } } console.log(isEmptyObj(data));//true console.log(isEmptyObj(data2));//false