网站首页 » 前端开发 » JavaScript » JavaScript 判断对象是否为空
上一篇:
下一篇:

JavaScript 判断对象是否为空

前言

在 JavaScript 的世界我们会遇到很多种意想不到的情况,更不用说如何判断对象是否为空这样的常用技巧了。本文不会长,几段代码就结束了,所以相信你应该可以在两分钟内看完。

怎么判断一个对象是否为空呢?套路也不多,就几种。我就把它们罗列出来,希望你喜欢:

空对象之旅

方法一:JSON.stringify()

JSON.stringify(),用于把一个对象解析成字符串,返回值为JSON 文本的字符串。

看这里
var obj = {};
// var obj = new Object();
if(JSON.stringify(obj) == "{}"){
  console.log("对象为空");
}else{
  console.log("对象不为空");
}

方法二:for(key in obj)

for(key in obj) 遍历对象,如果无值则不遍历。

看这里
function isEmptyObject(obj){
    for(key in obj){
      return false
    };
    return true
};
if(isEmptyObject(obj)){
  console.log("对象为空");
}else{
  console.log("对象不为空");
}

方法三:getOwnPropertyNames()

getOwnPropertyNames() 方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括 Symbol 值作为名称的属性)组成的数组。

看这里
var obj = {};
// var obj = new Object();
function isEmptyObject(obj){
   if(Object.getOwnPropertyNames(obj).length === 0){
    return false;// 对象为空,返回false
  }{
    return true;// 对象不为空,返回true
  }
}
console.log(isEmptyObject(obj));
if(!isEmptyObject(obj)){
  console.log("对象为空");
}else{
  console.log("对象不为空");
}

方法四:Object.keys()

Object.keys()  方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序。

看这里
var obj = {};
// var obj = new Object();
function isEmptyObject(obj){

  if(Object.keys(obj).length === 0){
    return true;
  }else{
    return false;
  }
}
if(isEmptyObject(obj)){
  console.log("对象为空");
}else{
  console.log("对象不为空");
}

 

  • 微信扫一扫,赏我

  • 支付宝扫一扫,赏我

声明

原创文章,不经本站同意,不得以任何形式转载,如有不便,请多多包涵!

本文永久链接:http://yunkus.com/javascript-empty-object-judgement/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论 END