经典面试题,研发时也经常遇见的一个问题:如何判断一个对象是空对象?

方法一:将对象转换成字符串,再判断是否等于“{}”

let obj={};
console.log(JSON.stringify(obj)==="{}");
//返回true

方法二:for in循环

let result=function(obj){for(let key in obj){return false;//若不为空,可遍历,返回false}return true;
}
console.log(result(obj));//返回true

方法三:Object.keys()方法,返回对象的属性名组成的一个数组,若长度为0,则为空对象(ES6的写法)

console.log(Object.keys(obj).length==0);//返回true

方法四:Object.getOwnPropertyNames方法获取对象的属性名,存到数组中,若长度为0,则为空对象

console.log(Object.getOwnPropertyNames(obj).length==0);//返回true

方法五:jQuery中的isEmptyObject()方法,其原理是利用for in的方式来判断(注意:使用这种方式记得引用jquery)

console.log($.isEmptyObject(obj));//true

判断一个对象为空对象的几种方法相关推荐

  1. 判断一个对象为空对象的五种方法

    经典面试题,研发时也经常遇见的一个问题:如何判断一个是空对象 方法一:将对象转换成字符串,再判断是否等于"{}" let obj = {}; console.log(JSON.st ...

  2. JavaScript判断是否为空对象的几种方法

    点击打开视频讲解 <template><div id="app"><h2>JavaScript判断是否为空对象的几种方法</h2>& ...

  3. JavaScript判断对象是否为空对象的几种方法

    判断是否为空对象在实际开发中很常见,今天就让我们来整理一下有哪些方法吧. 1.空对象对应的字符串为 "{}" var data = {}; var b = JSON.stringi ...

  4. Angular Js 判断对象不为空对象的三种方法

    前言 在写前端时,很多时候都需要去校验后端返回的数据是否是个空对象.这里就介绍三种方法 第一种 //将json对象转化为json字符串,再判断该字符串是否为"{}" JSON.st ...

  5. JS判断对象是否为空对象的几种方法

    1.通过json将对象转化为字符串,在判断该字符串是否==='{}' var obj = {}; var str = (JSON.stringify(obj)=="{}"); if ...

  6. php判断数组的值是否为空,PHP判断数组是否为空的常用方法(五种方法)

    本文介绍了PHP开发中遇到的数组问题,小编在这里给大家总结了5中方法关于php判断数组是否为空问题,需要的朋友参考下 本文介绍了PHP开发中遇到的数组问题,这里介绍了判断PHP数组为空的5种方法,有需 ...

  7. Delphi 判断一个对象是否存在(赋值)的三种办法

    基本知识: 判断一个对象是否存在(赋值)的三种办法如下: if obj <> nil then if Boolean(obj) then if Assigned(obj) then 大家说 ...

  8. js 把字符串转成json对象的三种方法

    js 把字符串转成json对象的三种方法 不管字符串是否含有转义字符,都能转换成 Json 对象 1, js自带的eval函数,其中需要添加小括号eval('('+str+')'); function ...

  9. JS遍历对象的七种方法

    我根据阮老师的<ES6标准入门>学习并总结了七种遍历对象的方法,我会将分别介绍这七种方法并进行详细的区分,并将从属性可枚举性问题与遍历方法两个大方面讲述全文,其中可枚举性是掌握遍历对象之前 ...

最新文章

  1. Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)
  2. 出现should be mapped with insert=“false“ update=“false“的解决方法
  3. 【sparkStreaming】将DStream保存在MySQL
  4. php预处理查询数据库,php+mysqli使用预处理技术进行数据库查询的方法
  5. 字符串替换方法的优劣
  6. java poi教程_Java完成POI的功能
  7. NO3 cat-xargs-cp-mv-rm-find命令
  8. 生成jacoco报告_测开技能之如何利用ant jacoco 合并覆盖率报告
  9. WPF中改进自定义Command一些想法
  10. Unity3D之NGUI基础2:使用NGUI
  11. C++类的静态成员变量
  12. 关于有默认值的字段在用EF做插入操作时的思考(续)
  13. 单元测试、黑盒测试、白盒测试
  14. 采用曼码调制的非接触式IC卡译码软件设计
  15. mysql 计算农历_公历转换农历算法
  16. 学历学位验证查询流程中国执行信息公开网执行人查询结果查询流程
  17. Spyder 运行时kernels启动报错
  18. 点击word页面自动弹出信息检索
  19. android连路由器 mtu,解决app无网络问题,将宽带路由器MTU从1500修改成1480
  20. 盘点2018上半年最受欢迎的前端开发!

热门文章

  1. Python入门——EasyGUI库
  2. intellij alt ctrl B 进入定义快捷键在ubuntu下与软键盘快捷键冲突的解决方案
  3. linux环境docker搭建pptp服务器
  4. Android 数据存储 利用SQLiteDatabase实现简单的学生管理
  5. 什么是webhook?
  6. html5+datatime加减,javascript实现日期按月份加减
  7. 高通驱动实现 GPIO 中断上报键值
  8. 黑马程序员——C基础之疯狂猜数游戏
  9. “金融”与“科技”的融合加速进入下半场 金融壹账通“赋能”金融新生态
  10. ipad、iphone上播放电影没声音的解决方法