判断对象是否为空

方法一:将对象转换成字符串,再判断是否等于"{}"
let obj = {};
console.log(JSON.stringify(obj) === “{}”)
// 返回true

方法二:for…in 循环
let result = function(obj){
for(let key in obj){
return false; // 若不为空,可遍历,返回false;
}
return true;
}
console.log(result (obj)) //返回true;

方法三:ES6语法 Object.keys()
if(Object.keys(obj).length == 0){
console.log(‘空对象’)
}else{
console.log(‘非空对象’)
}

方法四:Object.getOwnPropertyNames()方法获取对象的属性名,存到数组中,若长度为0,则为空对象。
console.log(Object.getOwnPropertyNames().length == 0) //返回true

方法五:JQuery中的isEmptyObject()方法,其原理是利用for…in的方式来判断(注意使用这种方法记得引用jquery)
console.log($.isEmptyObject(obj)) //true

### 如何使用 Lodash 判断对象是否 Lodash 提供了一个非常方便的方法 `_.isEmpty` 来判断对象是否。此方法不仅适用于普通的 JavaScript 对象,还支持数组和其他数据结构。 以下是关于如何使用该方法的具体说明: #### 方法描述 `_.isEmpty(value)` 是 Lodash 中的一个函数,用于检查给定的值是否。对于对象而言,它会验证其是否有任何可枚举属性[^2]。如果目标是一个对象 `{}` 或者没有任何键值对的对象,则返回 `true`;反之则返回 `false`。 #### 使用示例 下面是一些具体的代码实例来展示它的功能: ```javascript // 导入 Lodash 库 const _ = require('lodash'); // 测试不同类型的输入 console.log(_.isEmpty({})); // 输出: true console.log(_.isEmpty({ a: 1 })); // 输出: false console.log(_.isEmpty([])); // 输出: true console.log(_.isEmpty([1, 2, 3])); // 输出: false console.log(_.isEmpty(null)); // 输出: true console.log(_.isEmpty(undefined)); // 输出: true ``` 上述例子展示了当传入不同的参数时,`_.isEmpty()` 的行为表现。值得注意的是,除了常规的对象外,这个工具也可以用来检测其他集合型的数据结构比如数组或者字符串等是否含有内容。 #### 特殊情况处理 需要注意的一点是,尽管可以利用 `_.isEmpty` 去判定某些复杂场景下的变量状态,但它不会深入分析嵌套层次内部的情况。例如,一个仅包含另一个对象作为唯一成员的对象仍然会被认为是非的: ```javascript let nestedObj = { innerObject: {} }; console.log(_.isEmpty(nestedObj)); // 输出: false ``` 这是因为顶层对象拥有至少一个名为 `innerObject` 的属性,即使那个属性本身也是一个对象。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值