javascript - 如何使用 lodash _isEmpty 检查对象是否为空?
问题描述
如果我检查数组_isEmpty
,这个条件应该满足,但它没有进入 if 语句,我现在有 map 函数返回数组的空对象。知道什么是错误的或更好的方法吗?
main.js
const validateResponse = _.map(drugs ,validateValues);
现在 validateResponse 返回 [{}] 并且它应该满足条件
if (_.isEmpty(validateResponse)) {
throw invalidPriceError;
}
解决方案
根据此处的 lodash 文档:
类似数组的值,例如参数对象、数组、缓冲区、字符串或类似 jQuery 的集合,如果长度为 0,则视为空。类似地,如果映射和集合的大小为 0,则视为空。
[{}].length
恰好是 1。如果你愿意的话,一盒卷心菜。一个包含一个空对象的数组。因此, isEmpty 的计算结果为 false。[].length
,另一方面,等于 0。
推荐阅读
- android - 设置上的多行标签
- css - 如何将某些字段居中 Wordpress 插件联系表 7?
- c - STM32单片机SPI数据寄存器读取值
- cython - 计算两个列表的交集时如何避免追加?
- html - 当网页 url 在 localhost 中时上路
- jquery - JQuery Validation条件验证不适用于条件要求
- mysql - 谷歌云中的 Laravel
- ios - iOS如何从数组Swift中获取超过100个值
- mysql - 类 Illuminate\Database\Eloquent\Collection 的对象无法在 laravel 中转换为 int
- amazon-web-services - AWS IoT 中的作业和消息有什么区别?