JavaScript——对象判空五种方法

例如:当我们在电商项目中,做购物车时,购物车内有商品时是一个页面,但是当我们清空购物车时,页面显示的是另外一个页面,例如:购物是空的页面。此时我们就需要判断商品这个对象是否为空。

例如:在判断对象是否为空时,直接用obj == {},是不可以的。

以下为5种常见的判断对象为空的方法:

  1.  JSON.stringify将对象转为字符串形式,再将其判断是否与'{}'相等

let obj = {};
  console.log(JSON.stringify(obj) == '{}');

 

      2. 使用ES6中的object.keys()方法,返回一个包含对象所有属性名的数组,再对数组的长度进行判断是否为0。

  let obj = {};
  console.log(Object.keys(obj).length == 0);

  3. 使用for in循环,来遍历对象的属性名。不为空则返回false,为空返回true

 var obj = {};
  var aaa= function(obj){
    for(let key in obj){
      return false;
    }
    return true;
  }
  console.log(aaa(obj));

  4.使用Object.getOwnPropertyNames()获取对象属性名,存到数组中,再对数组长度进行判断是否为0

  var obj = {};
  console.log(Object.getOwnPropertyNames(obj) == 0); 

 

  5.5.使用jq中的isEmptyObject方法

var obj = {};
console.log($.isEmptyObject(obj));

猜你喜欢

转载自blog.csdn.net/qq_50487248/article/details/132059750