JS判断对象是否为空对象的几种实用方法汇总

 更新时间:2022年05月20日 11:00:16   作者:jrue  
判断是否为空对象在实际开发中很常见,下面这篇文章主要给大家介绍了关于JS判断对象是否为空对象的几种实用方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

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

function isEmptyObj(obj) {
    return JSON.stringify(obj) === '{}'
}
console.log('对象是否为空:', isEmptyObj({}))

2.for in 循环判断

function isEmptyObj(obj) {
    for(let item in obj) {
        return true
    }
    return false
}    
console.log('对象是否为空:', isEmptyObj({}))

3.使用ES6的Object.keys()方法

function isEmptyObj(obj) {
    return Object.keys(obj).length === 0
}
console.log('对象是否为空:', isEmptyObj({}))

4.Object.getOwnPropertyNames()方法

function isEmptyObj(obj) {
    return Object.getOwnPropertyNames(obj).length === 0
} 
console.log('对象是否为空:', isEmptyObj({}))

5.将json对象转化为json字符串,再判断该字符串是否为"{}"

var data = {};
var b = (JSON.stringify(data) == "{}");
alert(b);   //true 为空, false 不为空

 JSON.stringify()扩展

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

JSON.stringify(value[, replacer[, space]])

参数说明:

  • value:必需,要转换的 JavaScript 值(通常为对象或数组)。
  • replacer: 可选。用于转换结果的函数或数组。 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。 如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
  • space:可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。
  • 返回值:返回包含 JSON 文本的字符串。

总结

到此这篇关于JS判断对象是否为空对象的几种实用方法的文章就介绍到这了,更多相关JS判断是否为空对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JS new操作原理及手写函数模拟实现示例

    JS new操作原理及手写函数模拟实现示例

    这篇文章主要为大家介绍了JS new操作原理及手写函数模拟实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • JS实现简单拖动模态框案例

    JS实现简单拖动模态框案例

    这篇文章主要为大家详细介绍了JS实现简单拖动模态框案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JS生态系统加速eslint解析器使用实例探索

    JS生态系统加速eslint解析器使用实例探索

    这篇文章主要为大家介绍了JS生态系统加速之eslint解析器使用实例探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 微信小程序实现答题倒计时

    微信小程序实现答题倒计时

    这篇文章主要为大家详细介绍了微信小程序实现答题倒计时,自定义计时器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • JS实现数组按升序及降序排列的方法

    JS实现数组按升序及降序排列的方法

    这篇文章主要介绍了JS实现数组按升序及降序排列的方法,涉及javascript针对数组的简单排序操作相关实现技巧,需要的朋友可以参考下
    2017-04-04
  • javascript动画之模拟拖拽效果篇

    javascript动画之模拟拖拽效果篇

    其实javascript本身是具有原生拖放功能的,但是由于兼容性问题,以及功能实现的方式,用的不是很广泛。javascript动画广泛使用的还是模拟拖拽。本文将详细介绍javascript的模拟拖拽,有需要的可以参考借鉴。
    2016-09-09
  • 一个级联菜单代码学习及removeClass与addClass的应用

    一个级联菜单代码学习及removeClass与addClass的应用

    最近在学些web前段的知识,看见博客园首页左侧的一个级联菜单,很是好奇,于是想自己实现以下,代码书写很简洁而且易懂,感兴趣的朋友可以了解下,希望本文对你学习级联菜单有所帮助
    2013-01-01
  • layui问题之渲染数据表格时,仅出现10条数据的解决方法

    layui问题之渲染数据表格时,仅出现10条数据的解决方法

    今天小编就为大家分享一篇layui问题之渲染数据表格时,仅出现10条数据的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • javascript 模拟JQuery的Ready方法实现并出现的问题

    javascript 模拟JQuery的Ready方法实现并出现的问题

    今天在阅读网上一些模拟Jq的ready方法时,发现一些小细节,就是网上的ready事件大部分都是在onload事件执行后加载,而jquery确能在onload加载前。
    2009-12-12
  • 微信小程序 数据封装,参数传值等经验分享

    微信小程序 数据封装,参数传值等经验分享

    这篇文章主要介绍了微信小程序 数据封装,参数传值等经验分享的相关资料,需要的朋友可以参考下
    2017-01-01

最新评论