ES6 判断是否为空对象
在js中判断对象是否为空,是十分常见的操作,那么在ES6中有哪些写法呢? |
ES6 Object.keys()
Object.keys()是ES6中的新方法, 返回值也是对象中属性名组成的数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。
Object.keys(obj).length === 0 && obj.constructor === Object // true表示为空对象,false为非空对象
缺点: 部分浏览器不支持,需要通过 babel 类插件转为 ES5。使用范例如下:
var data = {};var arr = Object.keys(data);alert(arr.length == 0);//true 即为空对象var datas={a:1,b:2};var aRR = Object.keys(datas);console.log(aRR) --> ['a','b']
将 json 对象转化为 json 字符串,再判断该字符串是否为"{}"
var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true
for in 循环判断
var obj = {}; var b = function() {for(var key in obj) {return false;}return true; } alert(b());//true
jquery isEmptyObject()
此方法是jquery将方法3 (for in)进行封装,使用时需要依赖jquery。
var data = {}; var b = $.isEmptyObject(data); alert(b);//true
Object.getOwnPropertyNames()
此方法是使用Object对象的getOwnPropertyNames方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空。
注意:此方法不兼容ie8,其余浏览器没有测试。
var data = {}; var arr = Object.getOwnPropertyNames(data); alert(arr.length == 0);//true
ES6 判断是否为空对象相关推荐
- 判断一个对象为空对象的几种方法
经典面试题,研发时也经常遇见的一个问题:如何判断一个对象是空对象? 方法一:将对象转换成字符串,再判断是否等于"{}" let obj={}; console.log(JSON.s ...
- 判断一个对象为空对象的五种方法
经典面试题,研发时也经常遇见的一个问题:如何判断一个是空对象 方法一:将对象转换成字符串,再判断是否等于"{}" let obj = {}; console.log(JSON.st ...
- JavaScript判断是否为空对象的几种方法
点击打开视频讲解 <template><div id="app"><h2>JavaScript判断是否为空对象的几种方法</h2>& ...
- js 判断是否为空对象、空数组
当需要判断参数是否为空时,总希望 js 能够提供原生的判断方法,可惜并没有,只能自己封装了. 1 function isEmpty(obj) { 1 // 检验 undefined 和 null 1 ...
- js 判断是否为空对象,或者空数组
以下例子考虑这个变量为undefine和null的情况. 空对象: if(obj && Object.keys(obj).length>0){ console.log('空对象' ...
- js判断是否为空对象
JSON.stringify(obj)!='{}'
- JavaScript判断对象是否为空对象的几种方法
判断是否为空对象在实际开发中很常见,今天就让我们来整理一下有哪些方法吧. 1.空对象对应的字符串为 "{}" var data = {}; var b = JSON.stringi ...
- 判断数组或者对象是否为空对象
let arr = []; if (arr.length == 0){console.log("数组为空") }else {console.log("数组不为空" ...
- 判断对象是否是空对象
Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组.通过数组中属性的个数判断是否为空对象. const empty = {};Object.keys(empty).le ...
最新文章
- IDE set arguments
- 微信小程序横向图片左右滑动
- Altium designer不显示飞线的三种方法
- leetcode -day23 Construct Binary Tree from Inorder and Postorder Traversal Construct Binary Tree f
- HDU 1232 - 畅通工程
- springmvc +bootstrap创建简单web项目
- 如何通俗理解beta分布?
- asp.net C# 直接读取或访问其它网站的URL示例
- 恢复快速启动栏里的“显示桌面”图标
- 在Eclipse上用JAVA连接数据库
- 树莓派基础实验13:雨滴探测传感器实验
- 三菱plc pwm指令_【三菱PLC指令教程】定时器指令应用之时序图编程法(一)
- 阿里云国际版云计算应用在企业领域的优势有哪些
- java寻宝算法_【Java 7】今天,你寻宝了吗?
- 电流反馈和电压反馈的判断
- 【数位板常见问题】压感笔为什么没有压感了
- 机器人需要Matlab嘛,用MATLAB玩转机器人
- 百度LBS服务我们自己上传数据,我们客户端获取数据然后进行小黄车和膜拜单车定位描点等骚操作
- 电影《翻滚吧阿信》中的管理知识
- 应广单片机 PMS150G、FPC161 基础例子【GPIO设置】