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