js判断一个 object 对象是否为空

方法一:使用for...in

for...in... 遍历属性,为真则为“非空数组”;否则为“空数组”


for (var i in obj) {

return true  // 如果不为空,则会执行到这一步,返回true

}

return false // 如果为空,返回false

方法二:使用JSON.stringify()

JSON 自带的 stringify() 方法,用于将 JavaScript 值转换为 JSON 字符串


if (JSON.stringify(data) === ‘{}‘) {

  return false // 如果为空,返回false

}

return true // 如果不为空,则会执行到这一步,返回true

方法三:使用Object.keys()

ES6 新增的方法 Object.keys():Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组。

如果我们的对象为空,他会返回一个空数组,如下:


var a = {}

Object.keys(a) // []

可以依靠Object.keys()这个方法通过判断它的长度来知道它是否为空


if (Object.keys(object).length === 0) {

  return false // 如果为空,返回false

}

return true // 如果不为空,则会执行到这一步,返回true

或者写在一个函数中


function checkNullObj (obj) {

  return Object.keys(obj).length === 0

}

原文地址:https://www.cnblogs.com/kunmomo/p/11751744.html

时间: 2024-10-06 08:31:02

js判断一个 object 对象是否为空的相关文章

判断一个jquery对象是否为空

今天用jquery $获取一个jquery对象.$("#id") 然后用判断这个对象是否存在,id不存在的时候,判断这个是否存在, if($("#id")) 始终为真. 最后想到了用到javascript的写法. 1 var g=(typeof($("#id")[0])=="undefined")?0:1 javascript 数据类型转换 parseFloat 转成float 类型 parseInt 转成int类型

怎样判断一个jquery对象是否为空jquery对象

if ( $('#myDiv').length ){} http://stackoverflow.com/questions/47... 也可以直接判断$('#myDiv')[0]===undefined,如果true的话说明没有. jQuery方法可以搞定,$.isEmptyObjec({})... 使用.get(0)方法: if ($j('.cscsc').get(0) == undefined) 原文地址:https://www.cnblogs.com/seven-ahz/p/907045

检测一个DOM对象是否为空

我们时常要检测一个DOM对象是否为空. var $jObject = $('#btn'); alert($jObject ); 我们会发现,$jObject 永远不会为空.为什么呢?$ 方法查找对象,始终都会返回一个jQuery 对象的. 解决办法: 我们就要把jQuery对象转换成js对象. ①var dom = $jObect[0]; alert(dom); ②if($jObect.length>0) {alert("not null!");}

JS实现一个基于对象的链表

JS实现一个基于对象的链表 /*JS实现一个基于对象的链表*/ function Node(element){ this.element = element;//节点存储的元素 this.next = null;//节点指向的下一个节点,这里先设置为空 } function LList(){ this.head = new Node("head");//生成一个头节点 this.find = find;//在链表中找到某个节点 this.insert = insert;//在链表中某个

new一个Object对象占用多少内存?

/***************************************************  * TODO: description .  * @author: gao_chun  * @since:  2015-4-2  * @version: 1.0.0  * @remark: 转载请注明出处  **************************************************/ Java的自动内存管理机制省却了很多编码工作,大大地提高了Java的生产力,而且

js 判断一个文本框是否获得焦点

1.js 判断一个文本框是否获得焦点 // 可以用document.activeElement判断 // document.activeElement表示当前活动的元素 // 查找你要判断的文本框 var myInput = document.getElementById('myInput'); if (myInput == document.activeElement) {     alert('获取焦点'); } else {     alert('未获取焦点'); } 2.文本框获取焦点后

如何判断一个C++对象是否在堆上(通过GetProcessHeaps取得所有堆,然后与对象地址比较即可),附许多精彩评论

在帖子如何判断一个C++对象是否在堆栈上 中, 又有人提出如何判断一个C++对象是否在堆上. 其实我们可以参照那个帖子的方法类似实现,我们知道堆就是Heap,在windows上我们可以通过GetProcessHeaps来得到所有的堆句柄,而我们这里只要知道Windows上的Heap Handle,其实就是堆的起始地址,就可以写如下代码了. #include <iostream>#include <windows.h> using namespace std; BOOL IsObje

如何判断一个C++对象是否在堆栈上(通过VirtualQuery这个API来获取堆栈的起始地址,然后就可以得到答案了),附许多精彩评论

昨天有人在QQ群里问到如何判断一个C++对象是否在堆栈上, 我在网上搜索了下, 搜到这个么一个CSDN的帖子http://topic.csdn.net/t/20060124/10/4532966.html ,可惜它也没有给出一个合适的答案. 要解答这个问题,其实就是要知道的堆栈的起始地址, 而我们知道堆栈其实就是一段有相同属性的内存页面,而Windows也是有API让我们查询虚拟内存的页面分配情况的.所有我们可以通过VirtualQuery这个API来获取堆栈的起始地址,然后就可以得到答案了.

如果一个Object对象可能是数组那么如何对其进行迭代

需求:一个方法传入的参数是Object类型(假设对象为“items”,使用Object类型也是为了使用多态而增加方法复用性),但已知这个Object对象可能是基本类型数组,也可能是对象数组,如何将这个对象中的数组元素进行迭代,同时添加进一个集合中(我们不关心添加迭代出来的值是什么类型). 分析:如果想将一个数组迭代添加进一个集合中,那么我们最可能想到是的使用数组工具类Arrays的asList(T…a)方法: 但是这个方法的不足之处在于,对于对象数组,可以将对象数组中的每个元素迭代添加到一个Li