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

方法一:

let obj1 = {}
let obj2 = {a:1}
function empty(obj){
for (let key in obj){
return false; //非空
}
return true; //为空
}
console.log(empty(obj1)) //true为空
console.log(empty(obj2)) //false非空

方法二:

let obj1 = {}
if(JSON.stringify(obj1) == "{}"){
console.log("空对象")
}else {
console.log("非空对象")
}

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

let obj1 = {}
if (Object.keys(obj1).length == 0){
console.log("空对象")
}else {
console.log("非空对象")
}

二、js判断对象中是否有某个属性

方法一: . 或 [ ]   当此属性的值为false、undefined、NaN、null、0、"" 时,此方法不适用。

if (obj2.a){
console.log("对象有此属性")
}else {
console.log("对象无此属性")
}

方法二: in运算符   如果某属性在指定对象或其原型链上则返回true,只需判断自身属性时,此方法不适用。

let obj2 = {a:1}
if ("a" in obj2){
console.log("对象或其原型链上有此属性")
}else {
console.log("对象或其原型链上无此属性")
}

方法三:obj.hasOwnProperty() 对象自身属性中含有某属性,返回true。

let obj2 = {a:1}
if (obj2.hasOwnProperty("a")){
console.log("对象上有此属性")
}else {
console.log("对象上无此属性")
}

JS如何判断一个对象是否为空、是否有某个属性的更多相关文章

  1. [转]JS如何判断一个对象是否为空、是否有某个属性

    原文地址:https://www.cnblogs.com/crackedlove/p/10039105.html 一.js判断一个对象是否为空 方法一: let obj1 = {} let obj2 ...

  2. js/jquery判断一个对象是否为空

    一.js判断一个对象是否为空对象 1)通过JSON自带的.stringify方法来判断 //JSON自带的stringify方法,将json转成json字符串 var c = {}; if(JSON. ...

  3. JS心得——判断一个对象是否为空

    判断一个对象是否为空对象,本文给出三种判断方法: 最常见的思路,for...in...遍历属性,为真则为"非空数组":否则为"空数组" 2.通过JSON自带的. ...

  4. JS怎么判断一个对象是否为空

    昨天面试的时候被问到的问题.只怪自己根基不牢,没有回答好 甚至说出了“判断这个obj是否和{}相等”这样鱼蠢的答案(/(ㄒoㄒ)/~~)引用类型怎么可以直接判断==或者===呢?! 今天中秋佳节,宝宝 ...

  5. js判断一个对象{}是否为空对象,没有任何属性

    // js如何判断一个对象{}是否为空对象,没有任何属性 if (typeof model.rows === "object" && !(model.rows in ...

  6. 使用js判断一个对象是否为空 比如 obj={}

    今天使用到js判断一个对象是否为空,js没有封装好的方法,这里最好的办法就是使用jquery里面的封装好的方法 $.isEmptyObject(obj)

  7. JS——判断一个对象是否为空

    判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in...遍历属性,为真则为"非空数组":否则为"空数组" 2.通过JSON自带 ...

  8. js如何判断Object是否为空?(属性是否为空)

    js 判断一个 object 对象是否为空 转载原文 判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in... 遍历属性,为真则为“非空数组”:否则为“空数组” fo ...

  9. JS/React 判断对象是否为空对象

    JS一般判断对象是否为空,我们可以采用: if(!x)的方式直接判断,但是如果是一个空对象,比如空的JSON对象,是这样的:{},简单的判断是不成功的,因为它已经占用着内存了,如果是JQuery的话, ...

随机推荐

  1. js 基本

    JavaScrip组成:1.ECMAScrip --核心2.DOM 文档对象模型3.BOOM 浏览器对象模型 JavaScrip写法分类:1.内联式写在标签内以属性为表现:2.内嵌式以script标签 ...

  2. Flask中的before_request after_request

    1.@app.before_request 在请求(request)之前做出响应 @app.before_request 也是一个装饰器,他所装饰的函数,都会在请求进入视图函数之前执行 2.@app. ...

  3. 一道面试题(C语言)

    题:输入一个数,列出所有加和等于该数的式子. 分析: 以 6 为例: 从上面的分析就比较容易找到规律了. C语言代码: #include <stdio.h> int main() { in ...

  4. 生成多个git ssh密钥

    如果你已经有了一套名为 id_rsa 的公秘钥,将要生成另外一个公钥,比如 aysee ,你也可以使用任何你喜欢的名字. 步骤如下: 1.生成一个新的自定义名称的公钥: ssh-keygen -t r ...

  5. LeetCode--No.013 Roman to Integer

    13. Roman to Integer Total Accepted: 95998 Total Submissions: 234087 Difficulty: Easy Given a roman ...

  6. Liferay7 BPM门户开发之5: Activiti和Spring集成

    参考文档: https://github.com/jbarrez/spring-boot-with-activiti-examplehttps://github.com/sxyx2008/spring ...

  7. 使用maven构建多模块项目,分块开发

    在多人使用Maven协作开发项目时,尤其是稍微上点规模的项目,每个RD的工作都细分到具体功能和模块,有些模块甚至还要单独部署. 我们假设有这样一个商城项目,包括以下几个模块: 商城前台(shop) 管 ...

  8. Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析

    前言 前些天,测试MM发现了一个比较奇怪的bug. 具体表现是: 1.将app包通过电脑QQ传送到手机QQ上面,点击安装,安装后选择打开app (此间的应用逻辑应该是要触发 [闪屏页Activity] ...

  9. javaWeb代码工程统计

    直接放在src/test/java包内运行 /** * 代码行数统计 * @author ThinkGem * @version 2014-7-22 */ public class CodeCount ...

  10. 第二篇:SpringBoot2.0整合ActiveMQ

    本篇开始将具体介绍SpringBoot如何整合其它项目. 如何创建SpringBoot项目 访问https://start.spring.io/. 依次选择构建工具Maven Project.语言ja ...