jQuery isEmptyObject返回true,即使不是

时间:2020-02-03 08:37:15

标签: javascript jquery

这是我正在使用的jQuery代码

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

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

enter image description here

此外,我实际上正在尝试查看里面的键是否不是空字符串。

1 个答案:

答案 0 :(得分:2)

文档明确指出:

自变量应始终为普通的JavaScript对象,因为其他类型的对象(DOM元素,原始字符串/数字,宿主对象)可能无法在浏览器中提供一致的结果。要确定对象是否为纯JavaScript对象,请使用 $。isPlainObject()

但是您正在检查数组。

要检查数组是否没有元素,您可以仅依靠其.length属性。

arrayPgggoData[taxonomy].length === 0

如果您想将某些数组值视为“空”值,则.filter方法是您的朋友。

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

ES6友好语法

const nonEmptyValues = arrayPgggoData[taxonomy].filter(el => el !== '')
相关问题