天天看點

js判斷對象是否為空對象

  1. JSON.stringify()
let obj = {id:1,name:'裡斯'}
    //傳回true為空對象,false不是空對象
     console.log(JSON.stringify(obj) == "{}");
           
  1. Object.keys()

Object.keys()傳回一個由一個給定對象的自身可枚舉屬性組成的數組(就是将對象中的key傳回到一個數組中)

let obj = {id:1,name:'裡斯'}
     //傳回true為空對象,false不是空對象
    console.log(Object.keys(obj) == []);
           
  1. for in
let obj = {id:1,name:'裡斯'}
       
        let fun = function(s){
            for (let key in s) {
                return false
            }
            return true
        }
        //傳回false代表不為空,傳回true則為空對象
        console.log(fun(obj)); 
           
  1. Object.getOwnPropertyNames()

跟Object.keys()類似,傳回一個由指定對象的所有自身屬性的屬性名(包括不可枚舉屬性但不包括 Symbol 值作為名稱的屬性)組成的數組。

let obj = {id:1,name:'裡斯'}
        //傳回true為空對象,false不是空對象
        console.log(Object.getOwnPropertyNames(obj) == []);
           

繼續閱讀