JS常用判斷空對像的幾種方法

學前端的小新發表於2018-11-22

1.使用JSON.stringify()將物件轉成字串,判斷是否等於{}。

var obj = {};
console.log(JSON.stringify(obj)=="{}"); //true複製程式碼

2.使用for in 迴圈物件。

var obj = {};
var b=function(){
    for(var key in obj){
        return false;
    }
    return true;
}
console.log(b());//true複製程式碼

3.Object.getOwnPropertyNames()方法,此方法不相容IE8,原理是將物件的屬性值存到一個陣列內,並返回這個陣列,然後我們可以通過判斷陣列長度來判斷物件是否為空。

var obj = {};
var arr = Object.getOwnPropertyNames(obj);
console.log(arr.length) //0為空複製程式碼

4.ES6中的Object.keys(),跟Object.getOwnPropertyNames()方法的原理類似,也是將物件的屬性值存到陣列中,並返回這個陣列。

var obj = {};
var arr = Object.keys(obj);
console.log(arr.length) //0為空複製程式碼


相關文章