js判斷物件是否為空

隔壁張小二發表於2018-06-05

1、使用ES6提供的 Object.keys(obj) 方法

Object.keys 返回一個陣列,包括物件自身的(不含繼承的)所有可列舉屬性(不含 Symbol 屬性)的鍵名。

Object.keys(obj).length === 0 && obj.constructor === Object  //true表示為空物件,false為非空物件
複製程式碼

缺點: 部分瀏覽器不支援,需要通過 babel 類外掛轉為 ES5

2、遍歷物件,通過物件的 hasOwnProperty() 方法判斷

isEmpty(obj) {
    for (var prop in obj) {
        if (obj.hasOwnProperty(prop)) {
             return false;
        }
    }
    return true && JSON.stringify(obj) === JSON.stringify({});
}
//isEmpty(obj) 等於true表示為空物件,等於false表示非空物件

複製程式碼

3、使用 jquery 的 isEmptyObject(obj) 方法

jquery.isEmptyObject(obj)  //true表示為空物件,false為空物件
複製程式碼

4、後續方法更新中...

相關文章