精华内容
下载资源
问答
  • 下面本篇文章就来给大家介绍几种使用javascript判断对象是否为空的方法,希望对大家有所帮助。1、使用for...in... 遍历属性进行判断这是最常见的方法,如果为真则“不是空对象”,否则是空对象function isEmptyObj...

    在开发过程中常常会遇到判断对象和数组是否为空的情况,那么怎么判断对象是否为空?下面本篇文章就来给大家介绍几种使用javascript判断对象是否为空的方法,希望对大家有所帮助。

    3ffb0e78ec39105d67bf244f5cee58ee.png

    1、使用for...in... 遍历属性进行判断

    这是最常见的方法,如果为真则“不是空对象”,否则是空对象function isEmptyObj(data) {

    for(var item in data) {

    return false;

    }

    return true;

    };

    var obj = {};

    if (isEmptyObj(obj)){

    console.log("对象为空");

    }else {

    console.log("对象不为空");

    }

    2、通过 JSON.stringify() 方法判断

    将对象转化为json字符串,再判断该字符串是否为"{}"即可。var obj = {};

    var objStr = JSON.stringify(obj);

    if(objStr === '{}') {

    console.log("对象为空");

    }else {

    console.log("对象不为空");

    }

    注意:这里为什么不用 toString(),是因为它返回的是 Object

    3、使用es6的方法Object.keys()+length属性进行判断var obj = {};

    var arr = Object.keys(obj);

    if (arr.length == 0){

    console.log("对象为空");

    }else {

    console.log("对象不为空");

    }

    Object.keys方法是JavaScript中用于遍历对象属性的一个方法 。它传入的参数是一个对象,返回的是一个数组,数组中包含的是该对象所有的属性名。

    可以通过使用length属性来判断此数组是否为空,进而判断对象是否为空。

    展开全文
  • 可以直接通过if(对象判断对象属性也一样 var obj = null; if(obj){ //如果obj不为空,则会进入 } else { //如果obj为空,则会进入 }

    可以直接通过if(对象)判断,对象的属性也一样

    var obj = null;
    if(obj){
    	//如果obj不为空,则会进入
    } else {
    	//如果obj为空,则会进入 
    }
    
    展开全文
  • js判断对象为空以及有好几种方法了,但是个人觉得不是特别方便。 比如: 1、把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} " 2、for in循环,判断key是否存在 3、jq的方法 es6已经帮我们很...

    js判断对象为空已经有好几种方法了,但是个人觉得不是特别方便。

    比如:

    1、把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} "

    2、for in循环,判断key是否存在

    3、jq的方法

    es6已经帮我们很好的解决了此类问题。

    es6针对对象增加了3个新方法(数组也有):

    (1)、Object.keys:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名

    (2)、Object.values:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值

    (3)、Object.entries:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值对

    由此,我们可以通过其中任意一个方法,得到返回的数组,判断数组长度是否大于0,来判断对象是否为空。

    举个栗子:

    const obj = {
        foo: 'bar',
        baz: 42
    }
    console.log(Object.keys(obj)); 
    // ["foo", "baz"]
    
    console.log(Object.values(obj)); 
    // ["bar", 42]
    
    console.log(Object.entries(obj)); 
    // [["foo", "bar"], ["baz", 42]]
    
    // 打印返回值的长度
    console.log(Object.keys(obj).length); // 2
    
    const obj2 = {};
    console.log(Object.keys(obj2)); // [] 
    // 打印空对象的长度
    console.log(Object.keys(obj2).length); // 0

    这样我们就可以很简单直观的判断出对象是否为空,并且可以通过这三个方法,拿到想要的数据(键名、键值、键值对)

    那么既然得到了返回值数组,我们也可以很简单的判断对象中是否包含某个我们已知的属性名

    console.log(Object.keys(obj).indexOf('baz')); // 1
    
    console.log(Object.keys(obj).indexOf('ad')); // -1

    indexOf可以判断数组是否包含某个值,返回该值所对应的下标,对于不存在的值,返回 -1

    这样我们就能判断对象是否包含某个属性名了

    当然了,es6还提供了其他几种判断对象是否包含属性名的方法,如下:

    1、in:属性名 in 对象(判断属性名是否在对象中存在,返回一个布尔值)

    console.log('baz' in obj); // true

    2、hasOwnProperty:对象.hasOwnProperty(属性名)(判断对象中是否含有某个属性名,返回一个布尔值)

    console.log(obj.hasOwnProperty('baz')); // true

    好了,以上就是es6中判断对象是否为空,并且判断对象是否包含某个属性的方法

    如有问题,请指出,接收批评。

    个人微信公众号:

    展开全文
  • 1,判断对象是否存在-------!$.isEmptyObject() ...2,判断对象属性是否为空-----Object.keys().length if(Object.keys(obj).length!=0){ console.log('obj not null') }else{ console.log('obj is nul

    1,判断对象是否存在-------!$.isEmptyObject()

    if(!$.isEmptyObject(obj)){
    	console.log('exit obj')
    }else{
    	console.log('no exit obj')
    }
    

    2,判断对象属性是否为空-----Object.keys().length

    if(Object.keys(obj).length!=0){
    	console.log('obj not null')
    }else{
    	console.log('obj is null')
    }
    

    3,判断对象属性是否存在------hasOwnProperty

    if(obj.hasOwnProperty('name')){
    	console.log('exit property')
    }else{
    	console.log('no exit property')
    }
    

    4,判断对象是否为空对象

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

    var data = {};
    var b = (JSON.stringify(data) == "{}");
    alert(b); //true
    

    4.2,for in 循坏判断

    var obj = {};
    var b = funciton(){
    	for (var key in obj){
    		return false;
    	}
    	return true;
    }
    alert(b); //true
    

    4.3,ES6的Object.keys():返回值是对象种属性名组成数组

    var data ={};
    var arr = Object.keys(data);
    alert(arr.length==0);//true
    
    展开全文
  • js判断对象是否为空对象 判断一个对象是否为空对象,本文给出三种判断方法: 1、最常见的思路,for…in…遍历属性,为真则为“非空数组”;否则为“空数组” function judgeObj(Obj){ for(var attr in Obj){ ...
  • js判断对象是否为空

    2021-01-07 06:28:09
    如何判断返回对象为空? 一、通过ES6新增的一个Object.keys()方法 该方法会返回一个由给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in… 循环遍历该对象时返回的顺序一致 。即可以通过...
  • js 判断对象是否为空,没有属性

    千次阅读 2017-07-03 16:49:25
    所以可以使用代码3的方法判断对象是否为空对象{}; 如果对象不为空,并且知道对象不为空时,某个属性(比如{id:111})一定存在,则可以里这样判断: 4. 代码4: ? 1 ...
  • JavaScript判断变量是否为空对象或空数组
  • 1.当页面初始化时,需要某个对象属性对应的数据来渲染,但是起始值或者后端返回的可能就是null或者{} data(){ return{ a:{} } }, cerated(){ let res=null // or {} this.a=res } 一旦对象层级超过...
  • 对已声明但未初始化的和未声明的变量执行typeof,都返回undefined,null表示一个空对象指针,typeof操作会返回object
  • JavaScript判断对象是否为空原生JS判断1.JSON.stringify()2.Object.getOwnPropertyNames()3.Object.keys()其他 原生JS判断 非jquery api。部分方法使用到ES6中的API 1.JSON.stringify() 将{}转成字符串类型,然后...
  • js判断对象是否为空对象的几种方法

    万次阅读 多人点赞 2017-08-18 09:04:51
    1.将json对象转化json字符串,再判断该字符串是否"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true 2.for in 循环判断 var obj = {}; var b = function() { for(var ...
  • 1. 将json对象转化json字符串,再判断该字符串是否"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true 2. for…in 循环判断 var obj = {}; var b = function() { for(var key ...
  • 判断对象是否为空 需求场景: 购物车中的商品点击删除后,如果此页面中没有任何商品,则需要显示另一个页面,如下: 此时需要做的就是判断商品对象是否为空。 通过控制台打印可知,商品对象删除所有的内容后的打印...
  • $.isEmptyObject() 判断对象是否 null 或 undefined //Object.keys().length != 0 if (!$.isEmptyObject(result.createDate)&&Object.keys(result.createDate).length != 0) { $('#createDate...
  • 判断js对象为null或者属性为空

    千次阅读 2018-10-15 14:19:59
    利用for in对对象进行遍历,如果可以遍历则不为空 1、包括原型链的属性 function isEmpty(obj){ for(var key in obj){ return false; } return true } 2、只对对象本身判断,不包括原型链 function ...
  • console.log(Object.keys(p).length)//判断对象是否为空 console.log(p.hasOwnProperty('hello'))//判断对象是否含有某一个属性 var arr=[1,2,3] console.log(arr) arr.length=0//清空一个数组,或者直接arr=[] ...
  • 判断JavaScript对象为null或者属性为空

    千次阅读 2018-11-30 16:50:58
    null表示一个空对象指针,typeof操作会返回"object"。 一般不显式的把变量的值设置undefined,但null相反,对于将要保存对象的变量,应明确的让该变量保存null值。 var bj; alert(bj); //"...
  • JS 判断对象属性是否存在,判断是否包含某个属性,是否自身属性 判断是否包含某对象 我们知道访问对象属性有两种形式,如下: var obj = { name:'听风是风' }; obj.name; //听风是风 obj['name']; //听风是风 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 250,357
精华内容 100,142
关键字:

js判断对象属性为空