js判斷空對象的幾種方法


一、將對象轉為字符串比較
這是最容易想到的方法,主要使用JSON.stringify()這個方法對對象進行強轉:

var a={};
var b=new Object();
console.log(JSON.stringify(a)=="{}") //true
console.log(JSON.stringify(b)=="{}") //true

二、for…in循環
使用for in循環可以遍歷所有屬性以次判斷對象是否為空對象:

var a={};
function isEmptyObject(obj){
for(var key in obj){
return false
};
return true
};
console.log(isEmptyObject(a));

三、Object.getOwnPropertyNames()
Object.getOwnPropertyNames()方法返回一個由指定對象的所有自身屬性的屬性名(包括不可枚舉屬性但不包括Symbol值作為名稱的屬性)組成的數組。用此方法判斷空對象只需要判斷返回的數組長度是否為零,為零的話就是空對象。

var obj = { };
console.log(Object.getOwnPropertyNames(obj).length == 0); // true

四、Object.keys()
該方法屬於 ES5 標准,IE9 以上和其它現代瀏覽器均支持。Object.keys() 方法會返回一個由一個給定對象的自身可枚舉屬性組成的數組,數組中屬性名的排列順序和使用 for…in 循環遍歷該對象時返回的順序一致。用此方法判斷空對象只需要判斷返回的數組長度是否為零,為零的話就是空對象。

var data = {};
var arr = Object.keys(data);
console.log(arr.length == 0);//true

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM