-
2018-07-03 21:58:34
1. 通过 for...in... 遍历属性 ,如果是空对象返回false, 否则返回 true 。
例: var judgeObj = function(obj){
for(var item in obj){
return true;
}
return false;}
2. 通过ES6新增的一个Object.keys()方法。
该方法会返回一个由给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in.. 循环遍历该对象时返回的顺序一致 。即可以通过返回数组的长度来判断是否为空对象,若为空对象,该数组长度为0。例:
var judgeObj = function(obj){
if (Object.keys(obj).length == 0) {
return true;
} else {
return false;
}
}更多相关内容 -
js判断对象是否为空
2021-01-07 06:28:09即可以通过返回数组的长度来判断是否为空对象,若为空对象,该数组长度为0。例: let person={name:张三,age:20} if (Object.keys(person).length == 0) { //数据为空 return true }else{ return false } 二、... -
JavaScript 判断一个对象{}是否为空对象的简单方法
2020-10-21 09:14:45下面小编就为大家带来一篇JavaScript 判断一个对象{}是否为空对象的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
js中判断对象是否为空的三种实现方法
2020-10-26 12:27:33本篇文章主要是对js中判断对象是否为空的三种实现方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 -
js判断一个对象是否是空对象
2022-03-21 14:26:14js如何判断一个对象是否是空对象,本文给出三个方法。 二、采用for…in…进行遍历 最常见的思路就是使用for....in...遍历属性,为真则为非空对象,为假则为空对象。 <script> function isEmptyObj(obj) { ...一、写在前面
js如何判断一个对象是否是空对象,本文给出三个方法。
二、采用for…in…进行遍历
最常见的思路就是使用for....in...
遍历属性,为真则为非空对象,为假则为空对象。<script> function isEmptyObj(obj) { for(let item in obj) { return true } return false } console.log(isEmptyObj({})) </script>
三、通过JSON自带的stringify()方法来判断
<script> function isEmptyObj(obj) { if(JSON.stringify(obj) === '{}') { return false } return true } console.log(isEmptyObj({})) </script>
这里为啥不使用
toString
呢?<script> console.log({}.toString()) //[object Object] </script>
四、ES6中新增的Object.keys()
我们可以使用Object.keys()
取出所有的key,如果不存在,则为空数组。<script> function isEmpty(obj) { if(Object.keys(obj).length === 0) { return false } return true } console.log(isEmpty({})) </script>
我们可以将其写的更加精简的形式。
<script> function isEmpty(obj) { return Object.keys(obj).length === 0 } console.log(isEmpty({})) </script>
-
js 判断对象是否为空
2022-02-15 14:07:42js 判断对象是否为空的四种方法js 判断对象是否为空的四种方法
一.JSON.stringify()
将对象强制转成 {} 字符串进行比较
示例:var a={};//或 a=new Object(); console.log(JSON.stringify(a)=="{}") //true
二.for…in
遍历对象中所有属性,如果有属性则返回false,反之,返回true
示例:var a={}; function isEmptyObject(obj){ for(var key in obj){ return false; }; return true; }; console.log(isEmptyObject(a));
三.Object.getOwnPropertyNames()
返回对象所有的属性名的数组,数组length为0,则对象是空对象。该方法是ES5标准
示例:var a = {}; console.log(Object.getOwnPropertyNames(a).length == 0); // true
四.Object.keys()
返回对象所有的属性名的数组,数组length为0,则对象是空对象。该方法是ES5标准
示例:var a = {}; var arr = Object.keys(a); console.log(arr.length == 0);//true
-
js判断是不是空对象
2017-06-06 21:30:081.如何判断一个对象是空对象function IsNull(obj){ if(obj instanceof Array){ console.log('是数组') } else if(obj == undefined){ console.log('是undefined') } else if(obj == ''){ console.log('...1.如何判断一个对象是空对象
function IsNull(obj){ if(obj instanceof Array){ console.log('是数组') } else if(obj == undefined){ console.log('是undefined') } else if(obj == ''){ console.log('字符串') } else if(obj == null){ console.log('是null') } else{ for(var i in obj){ return false } return true } }
空对象的呈现是
var obj = {}
function IsEmptyObject(obj){ if(!obj || typeof obj != 'object' || Array.isArray(obj)){ return false; } //第一种 //测试性能段 /* console.time('first'); if(JSON.stringify(obj) === '{}'){ console.timeEnd ('first'); return true }else{ console.timeEnd ('first'); return false; } */ return (JSON.stringify(obj) === '{}') //第二种 console.time('second'); for(var key in obj){ console.timeEnd ('second'); return false } console.timeEnd ('second'); return true; }
解决思路
第一种就是粗暴的直接转字符串,然后强行比较
第二种就是利用for in
的原理,然后一旦进了循环,说明有key
值,那就直接false
啦,否则就是空对象性能比较
下面测试一下两个方法的性能比较
-
第一种在a就是一个空对象的情况下,在Imac谷歌浏览器上平均耗时在
0.012ms
左右 -
第二种在a就是一个空对象的情况下,在Imac谷歌浏览器上平均耗时在
0.007ms
左右,性能差距为两倍 -
第一种在a是一个普通对象的情况下,豆瓣的api对象,在Imac谷歌浏览器上平均耗时在
0.08ms
左右 -
第二种在a是一个普通对象的情况下,豆瓣的api对象,在Imac谷歌浏览器上,第一次稍慢,
0.02ms
,平均耗时在0.0075ms
左右,性能差距随着对象越大,差距也会越大
-
-
JavaScript判断对象是否为空对象的几种方法
2021-04-28 09:29:24判断是否为空对象在实际开发中很常见,今天就让我们来整理一下有哪些方法吧。 1、空对象对应的字符串为 "{}" vardata={}; varb=JSON.stringify(data)=="{}"; console.log(b);//true 2、for in varobj={}; var... -
JS判断两个对象内容是否相等的方法示例
2020-11-28 16:41:58本文实例讲述了JS判断两个对象内容是否相等的方法。分享给大家供大家参考,具体如下: 我们知道,如果两个对象即使内容,JavaScript也会判断它们不相等。但是有时候,我们仅仅需要判断两个对象的内容是否相等。那么... -
JS 判断空对象的5种方法
2021-09-27 23:44:54//是true为空对象,是false则不是空对象 console.log(JSON.stringify(obj) === '{}');//false 2、 let obj = {} let fn = (s) => { for(let key in s) { return false } return true } //返回false代表不... -
Javascript中判断对象是否为空
2020-10-24 03:30:11主要介绍了Javascript中判断对象是否为空,本文利用Javascript 中的对象就是一个字典的特性,检查对象中有没有键值对实现判断对象是否为空,需要的朋友可以参考下 -
js如何判断空对象
2021-01-12 22:23:50一、将对象转为字符串比较 这是最容易想到的方法,主要使用JSON.stringify()这个方法对对象进行强转: ...使用for in循环可以遍历所有属性以次判断对象是否为空对象: var a={}; function isEmptyObject(ob -
js判断空对象的实例(超简单)
2020-12-09 00:29:23最近项目遇到判断空对象的一个问题,查阅相关资料再进行总结一下。 判断空对象不比判断空字符串之类的,因为空对象也是一个对象,需要单独分配内存,而不是像字符串那样为空时就是大锅饭,大家都相等,如下代码: ... -
JS如何判断json是否为空
2020-11-23 08:21:312、判断对象是否为空: 1、if (typeOf(x) == “undefined”) 2、if (typeOf(x) != “object”) 3、if(!x) 其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加! 3、json的... -
js 判断是否为空对象,或者空数组
2022-01-05 15:51:09以下例子考虑这个变量为undefine和...空对象: if(obj &&Object.keys(obj).length>0){ console.log('空对象') } 空数组: if(arr &&arr.length>0){ console.log('空数组') } ... -
javascript判断是否是空对象以及对象的遍历
2022-04-02 18:57:57// 判断对象是否为空对象 // 1.for...in循环 const obj = {}; const objIsEmpty1 = (obj) => { for (let key in obj) { return false; } return true; }; //2.json.parse const objIsEmpty2 = (obj) => { ... -
简单方法判断JavaScript对象为null或者属性为空
2020-12-03 06:33:47null表示一个空对象指针,typeof操作会返回”object”。 一般不显式的把变量的值设置为undefined,但null相反,对于将要保存对象的变量,应明确的让该变量保存null值。 var bj; alert(bj); //"undefined" ... -
js 判断是否是空对象详解
2021-08-06 10:19:42主要思路我们要考虑到的主要有:js原生对象,宿主对象(浏览器上面的)。首先对于宿主对象主要判断是DOM 对象 和是否是window 对象是否是DOM对象 value....对于这两种肯定不是空对象。if(value.nodeType||isWind... -
js判断空对象和空数组
2019-03-20 17:11:26业务处理过程中经常需要对数据进行判断,这里介绍空对象和空数组的判断方法 空数组的判断 if(Array.prototype.isPrototypeOf(obj)&&obj.length === 0){return true;} 空对象的判断 if(Object.... -
JS判断对象是否存在的10种方法总结
2020-12-08 20:53:44Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法。只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别。 第一种写法根据直觉,你可能觉得可以这样写: 代码如下:if (!myObj) { -
JavaScript 判断空对象空数组
2022-02-21 13:29:15JavaScript 判断空对象空数组一、为什么判断空数组空对象会比较麻烦二、判断空数组的方法三、判定空对象的方法四、一个判断参数为空的函数封装**小小Tips:**1. 一个讨巧判断空数组、空对象的方法:2. null, ... -
js判断一个对象是否为空对象
2021-02-05 00:02:27数组为空的话是不会遍历的,为了不让能够出现默认图片,这也就需要在数组中增加一个默认空对象arr[{}]。问题来了,提交的时候怎么判断这个对象是空的呢?简单粗暴的判断因为是展示海报图片,每个对象下都有url属性,... -
js 判断对象是不是空对象
2021-03-26 14:53:33将对象转化为json字符串,再判断该字符串是否为"{}" let data = {}; let res = (JSON.stringify(data) == "{}") console.log(res) //true -
Js判断参数(String,Array,Object)是否为undefined或者值为空
2020-12-11 08:26:49有时候我们会遇到这样的情况:在一些前端控件要提交数据到服务器...•空数组:[]•空对象:{} 对于除此以外的数据值,均认为不为空。 其中 null 和 undefined 很容易识别,但对于其他类型,我们须要得到其数据类型才能 -
js中判断对象是否为空
2019-01-22 20:36:181.es6中可以使用Object.keys(obj) var data = {}; var arr = Object.keys(data);...2.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == ... -
js判断对象是不是空对象的几种方式
2021-04-08 21:12:04JSON.stringify(obj) === '{}' 如果是true则表示obj是空对象 2.Object.keys() Object.keys(obj).length=== 0 如果返回的是true,则表示obj是空对象 3.使用for-in便利 function isEmptyObj(obj){ if(obj &&...