_.isEmpty() 显示不为空但显示为空

_.isEmpty() shows not empty but displays as empty

我正在从 rateit Meteor 包中获取输入。该包用于显示和获取用户填写的星级。当我得到一个尚未填写的评分值时 (var buyUniq = $(".paymentRate").rateit('value') )

该值显示为[](没有任何内容)。

typeof buyUniq说明是一个对象

使用 JS 的 Boolean() 对象包装器,它 returns 为真。

Boolean(buyUniq)

下划线的_.isEmpty()表示对象不为空(returns false)

_.isEmpty(buyUniq)

为什么对象显示不为空

转换为布尔值的对象计算结果为真

试试这个简单的方法

var a = {};
Boolean(a);//outputs true

How can I check if an object has anything inside it?

只需检查对象是否有任何键

Object.keys(a).length > 0; //if returns true then it has something inside it
> Boolean([]) // empty array
< true
> Boolean({}) // empty object
< true

数组长度:

myArray.length

对象长度:

Object.keys(myObject).length;
如果

rateit 找不到选择器的值,则会将值显示为对象。

例如:

var sellUniq = $(".describedRate").rateit('value');
var buyUniq = $(".paymentRate").rateit('value');

其中 $(".describedRate") 存在而 $(".paymentRate") 不存在。

sellUniq 是一个数字,buyUniq 是一个不为空的对象。