JS中如何判斷一個對象是否為空對象


方法一 for...in

  • 通過for...in遍歷屬性,如果是空對象返回false,否則返回true

    例:

var judgeObj = function(obj){
  for(var item in obj){
    return true;
  }
  return false;
}

當對象中k值不存在的話,得到的k為undefined,即false,那么就是空對象。

方法二 Object.keys()

  • 通過ES6新增的一個Object.keys()方法

    該方法會返回一個由給定對象的自身可枚舉屬性組成的數組,數組中屬性名的排列順序和使用 for...in.. 循環遍歷該對象時返回的順序一致 。即可以通過返回數組的長度來判斷是否為空對象,若為空對象,該數組長度為0。
    例:

var judgeObj = function(obj){
  if (Object.keys(obj).length  == 0) {
    return true;
  } else {
    return false;
  }
}

附:

Object.keys()用法

Object.keys() 方法會返回一個由一個給定對象的自身可枚舉屬性組成的數組,數組中屬性名的排列順序和使用 for…in 循環遍歷該對象時返回的順序一致 (兩者的主要區別是 for-in 循環還會枚舉其原型鏈上的屬性)。

var obj={
  p1:123,
  p2:456
}
console.log(Object.keys(obj));  //["p1","p2"]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM