1. 程式人生 > >js 判斷一個物件是否為空方法總結

js 判斷一個物件是否為空方法總結

通常情況下,工作中寫邏輯的時候都會用到判斷一個物件是否為空的方法,巧的是今天正好有人問我這個問題,我竟然沒回答上來,很尷尬,決定研究一下總結下來,之前研究過但是久了不用就生疏了!大意啊

1.將json物件轉化為json字串,再判斷該字串是否為"{}"

var data = {};
var b = (JSON.stringify(data) == "{}");
alert(b);//true

2.for in 迴圈判斷

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

3.jquery的isEmptyObject方法
此方法是jquery將2方法(for in)進行封裝,使用時需要依賴jquery

var data = {};
var b = $.isEmptyObject(data);
alert(b);//true

4.Object.getOwnPropertyNames()方法
此方法是使用Object物件的getOwnPropertyNames方法,獲取到物件中的屬性名,存到一個數組中,返回陣列物件,我們可以通過判斷陣列的length來判斷此物件是否為空
注意:此方法不相容ie8,其餘瀏覽器沒有測試

var data = {};
var arr = Object.getOwnPropertyNames(data);
alert(arr.length == 0);//true

5.使用ES6的Object.keys()方法
與4方法類似,是ES6的新方法, 返回值也是物件中屬性名組成的陣列

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