1.將json物件轉化為json字串,再判斷該字串是否為"{}"
let obj = {}
console.log(json.stringify(obj) == "{}"); //true
2.for in 迴圈判斷
let obj = {}
let b = function()
return true;
}console.log(b()); //true
3. jquery 的isemptyobject 方法
此方法是jquery將2方法(for in)進行封裝,使用時需要依賴jquery
let obj = {}
let b = $.isemptyobject(obj);
console.log(b); //true
function isemptyobject(obj)
return true;
}
4. object.getownpropertynames()方法
此方法是使用object 物件的object.getownpropertynames()方法,獲取到物件中的屬性名,存到乙個陣列中,返回陣列物件,我們可以通過判斷陣列的length來判斷此物件是否為空。
注意:此方法不相容ie8
let obj = {}
let b = object.getownpropertynames(obj)
console.log(b.length == 0); //true
var arr = ["a", "b", "c"];
console.log(object.getownpropertynames(arr).sort()); // ["0", "1", "2", "length"]
// 類陣列物件
var obj = ;
console.log(object.getownpropertynames(obj).sort()); // ["0", "1", "2"]
// 使用array.foreach輸出屬性名和屬性值
object.getownpropertynames(obj).foreach(function(val, idx, array) ); // 0 -> a // 1 -> b // 2 -> c
//不可列舉屬性
var my_obj = object.create({}, ,
enumerable: false
}});
my_obj.foo = 1;
console.log(object.getownpropertynames(my_obj).sort()); // ["foo", "getfoo"]
5. 使用es6的object.keys()方法
與4方法類似,是es6的新方法,返回值也是物件中屬性名組成的陣列。
let obj = {}
let arr = object.keys(obj)
console.log(arr.length == 0); //true
js判斷物件是否為空
在php中空陣列跟和空物件,在進行布林值驗證是是false,但是js中陣列或物件不管是否有屬性或值存在統統任務是true。在編寫程式的過程中這是很蛋疼的。為了解決這個問題只能自己寫方法進行判斷。下面總結一下幾種方法 用es6的keys方法搞定 function isempty obj 利用json轉...
js判斷物件是否為空
1.將json物件轉化為json字串,再判斷該字串是否為 var data var b json.stringify data alert b true 2.for in 迴圈判斷 var obj var b function return true alert b true 3.jquery的is...
js判斷物件是否為空
1 使用es6提供的 object.keys obj 方法 object.keys 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 的鍵名。object.keys obj length 0 obj.constructor object true表示為空物件,fal...