首页 > 解决方案 > 如何使用 lodash _isEmpty 检查对象是否为空?

问题描述

如果我检查数组_isEmpty,这个条件应该满足,但它没有进入 if 语句,我现在有 map 函数返回数组的空对象。知道什么是错误的或更好的方法吗?

main.js

const validateResponse = _.map(drugs ,validateValues);

现在 validateResponse 返回 [{}] 并且它应该满足条件

  if (_.isEmpty(validateResponse)) {
      throw invalidPriceError;
    }

标签: javascriptarraysangularlodash

解决方案


根据此处的 lodash 文档:

类似数组的值,例如参数对象、数组、缓冲区、字符串或类似 jQuery 的集合,如果长度为 0,则视为空。类似地,如果映射和集合的大小为 0,则视为空。

[{}].length恰好是 1。如果你愿意的话,一盒卷心菜。一个包含一个空对象的数组。因此, isEmpty 的计算结果为 false。[].length,另一方面,等于 0。


推荐阅读