【js】js中判断对数是否为空

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

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

2.for in 循环判断

var obj = {};
var b = function() {
    for(var key in obj) {
        return false;
    }
    return true;
}
console.log(b());//true

3.jquery的isEmptyObject方法

此方法是jquery将2方法(for in)进行封装,使用时需要依赖jquery

var data = {};
var b = $.isEmptyObject(data);
console.log(b);//true

4.Object.getOwnPropertyNames()方法

此方法是使用Object对象的getOwnPropertyNames方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空
注意:此方法不兼容ie8,其余浏览器没有测试

var data = {};
var arr = Object.getOwnPropertyNames(data);
console.log(arr.length == 0);//true

5.使用ES6的Object.keys()方法与4方法类似,是ES6的新方法, 返回值也是对象中属性名组成的数组

var data = {};
var arr = Object.keys(data);
console.log(arr.length == 0);//true

原文地址:https://www.cnblogs.com/websmile/p/10209661.html

时间: 2024-08-29 22:34:10

【js】js中判断对数是否为空的相关文章

JavaScript中判断一个对象是否为"空对象”

JavaScript中判断一个对象是否为"空对象" 这里指的"空对象"是类似于:{ } 和 new Object() 这样的. 具体的代码实现和原理如下: // 所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. // for-in循环会同时枚举非继承属性和从原型对象继承的属性,如果有,则立即返回false,否则默认返回true. isEmptyObject: function (obj

js中判断json是否为空

var jsonStr ={}; 1.判断json是否为空 jQuery.isEmptyObject(): 2.判断对象是否为空: 1.if   (typeOf(x)   ==   "undefined") 2.if   (typeOf(x)   !=   "object") 3.if(!x) 其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加! 3.json的key是不可以重复的: jsonStr[key]="x

java中判断list是否为空的用法

1.如果想判断list是否为空,可以这么判断: if(null == list || list.size() ==0 ){ //为空的情况 }else{ //不为空的情况 } 2.list.isEmpty() 和  list.size()==0  有啥区别呢 答案:没有区别 .isEmpty()判断有没有元素,而size()返回有几个元素, 如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法. 3.list!=null  跟  ! list.isEmpty()有什么区别?

[javascript] js中判断对象是否为空的三种实现方法

在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种: 1.if (typeOf(x) == "undefined")2.if (typeOf(x) != "object")3.if(!x) 其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加!(java里面!x为true的时候x肯定为false了,但是这里是不可以的)

js中判断 .html() 是否为空

String.prototype.isEmpty = function () { var s1 = this.replace(/[\r\n]/g, '').replace(/[ ]/g, ''), s2 = (s1 == '') ? true : false; return s2; }; $(this).html().isEmpty();

js数组中判断是否有重复项

方法一 let s = ary.join(",")+","; for(let i=0;i<ary.length;i++) { if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) { alert("数组中有重复元素:" + ary[i]); break; } } 方法二 let ary = new Array("11

laravel中判断eloquent是否为空

在使用Laravel Eloquent模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用is_null或empty是无法判段它结果集是否为空的. var_dump之后我们很容易发现,即使取到的空结果集, Eloquent仍然会返回Illuminate\Database\Eloquent\Collection对象实例.其实,Eloquent已经给我们封装几个判断方法. $result = Model::where(...)->get(); //不为空则 if ($result->fi

Java中判断String不为空

1. str!=null; 2. "".equals(str); 3. str.length()!=0; 注意:  length是属性,一般集合类对象拥有的属性,取得集合的大小. 例如:数组.length就是取得数组的长度. length()是方法,一般字符串类对象有该方法,也是取得字符串长度.例如:字符串.length(); 说明: 1. null表示这个字符串不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常. 2.""表示它指向一个长度为0的字

MySQL存储过程中判断形参是否为空null

直接看例子: DELIMITER $$CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `restore`(username varchar(50))BEGINif username is not null then    update user set invalid=0 and activate_time='0000-00-00 00:00:00' where `name`=username;else    update user set invalid