javascript - Jquery isEmptyObject 返回 true,即使它不是

标签 javascript jquery

这是我正在使用的jquery代码

console.log(arrayPgggoData[taxonomy]);
console.log(jQuery.isEmptyObject(arrayPgggoData[taxonomy]));

我不知道为什么它返回 true。

enter image description here

另外,我实际上想看看里面的键是否不是空字符串。

最佳答案

文档明确指出:

The argument should always be a plain JavaScript Object as other types of object (DOM elements, primitive strings/numbers, host objects) may not give consistent results across browsers. To determine if an object is a plain JavaScript object, use $.isPlainObject()

但是您正在检查一个数组。

要检查数组是否没有元素,您只需依赖其 .length 属性即可。

arrayPgggoData[taxonomy].length === 0

如果您想将某些数组值视为“空”值,那么 .filter 方法就是您的 friend 。

nonEmptyValues = arrayPgggoData[taxonomy].filter(function(el) { return el !== '' })

ES6 友好语法

const nonEmptyValues = arrayPgggoData[taxonomy].filter(el => el !== '')

关于javascript - Jquery isEmptyObject 返回 true,即使它不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60035643/

相关文章:

javascript - 最快创建新日期

javascript - 无法验证表单是否已使用 CasperJS 和 jQuery 填写

javascript - 当我尝试使用 jQuery 将一些 HTML 插入 DIV 元素时得到 NaN

javascript - 谷歌地图 : How to make custom markes like Airbnb?

Javascript代码显示本地浏览器sqlite数据库

jquery - 在 x 轴上滚动的 div 内创建一个 div

javascript - Canvas clearRect 仅在循环中第一次工作,发生了什么?

javascript - 基于多个 CSS 类的排序,以及使用 Jquery 设计代码

jquery filedownload,准备时取消下载

JavaScript OnBlur 事件阻止提交 HTML 表单