js 判断一个 object 对象是否为空

js 判断一个 object 对象是否为空js判断一个object对象是否为空转载原文判断一个对象是否为空对象,本文给出三种判断方法:1.最常见的思路,for…in…遍历属性,为真则为“非空数组”;否则为“空数组”for(variinobj){//如果不为空,则会执行到这一步,返回truereturntrue}returnfalse//如果为空,返回false2.通过JSON自带的s

大家好,又见面了,我是你们的朋友全栈君。

js 判断一个 object 对象是否为空

转载原文

判断一个对象是否为空对象,本文给出三种判断方法:

1.最常见的思路,for...in... 遍历属性,为真则为“非空数组”;否则为“空数组”

for (var i in obj) { // 如果不为空,则会执行到这一步,返回true
    return true
}
return false // 如果为空,返回false

2.通过 JSON 自带的 stringify() 方法来判断:

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。

if (JSON.stringify(data) === '{}') {
    return false // 如果为空,返回false
}
return true // 如果不为空,则会执行到这一步,返回true

这里需要注意为什么不用 toString(),因为它返回的不是我们需要的。

var a = {}
a.toString() // "[object Object]"

3.ES6 新增的方法 Object.keys():

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

如果我们的对象为空,他会返回一个空数组,如下:

var a = {}
Object.keys(a) // []

我们可以依靠Object.keys()这个方法通过判断它的长度来知道它是否为空。

if (Object.keys(object).length === 0) {
    return false // 如果为空,返回false
}
return true // 如果不为空,则会执行到这一步,返回true

作者:言墨儿
链接:http://www.jianshu.com/p/972d0f277d45

转载补充:

原文中的代码,是写在一个 function 中的。类似这样:

function checkNullObj (obj) { 
   
    if (Object.keys(obj).length === 0) {
        return false // 如果为空,返回false
    }
    return true // 如果不为空,则会执行到这一步,返回true
}

但这样写,还是太累赘了。可以写成这样:

function checkNullObj (obj) { 
   
    return Object.keys(obj).length === 0
}

哈~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133290.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java代码生成器[通俗易懂]

    Java代码生成器[通俗易懂]项目说明本项目基于是基于renren-generator定制的代码生成器文章目录**项目说明**不同点:效果原理分析如何定制开发?更多可能存在的坑代码地址不同点:因为本人的公司使用的是tkmyabtis+swagger构建restapi,而renren-generator用的是mybatis-plus,而且不支持swagger,所以有了本项目效果…

    2022年4月27日
    50
  • Hibernate进阶之如何使用Hql内连接,外连接以及自连接

    Hibernate进阶之如何使用Hql内连接,外连接以及自连接

    2021年9月26日
    51
  • java 字符串和整型的相互转换_java字符串转整型数组

    java 字符串和整型的相互转换_java字符串转整型数组Java中字符串转整型和整型转字符串1.字符串转整型Java代码,字符串为纯数字的情况下,调用Integer的静态方法parseInt或者valueOfJava代码,如果单个字符或字符串,需要切开转化为char字符再转化,否则按照上述方法会出现空指针异常(ASCLL码0:**48**a:**97**A:**65**)2.整型转字符串Java代码,3种方法1.字符串转整型Java代码,字符串为纯数字的情况下,调用Integer的静态方法parseInt或者valueOfpublicclass

    2022年10月9日
    0
  • html超链接位置怎么改,如何修改HTML超链接样式?

    html超链接位置怎么改,如何修改HTML超链接样式?在网页开发中,我们不免会用到超链接,将内容链接到原网页上。如果不对超链接进行设置,链接默认以固定样式显示,过于单一。那么我们要如何修改HTML中的超链接呢?这篇文章W3Cschool小编为大家介绍一下。我们都知道,超链接是用标签来显示的。如果我们需要修改样式,则需要通过CSS修改它的样式。标签的样式还分为四个类型,分别为未访问、已访问、鼠标滑过、点击。a:link:未被访问的链接a:v…

    2022年7月19日
    25
  • pytest parametrize fixture_pytest参数化可变参数

    pytest parametrize fixture_pytest参数化可变参数前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月31日
    7
  • 数据中台 总结

    数据中台 总结

    2021年11月22日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号