我从rateit Meteor包中获得输入。此套餐用于显示和获取用户填写的星级。当我得到尚未填写的评分值(var buyUniq = $(".paymentRate").rateit('value')
)
值显示为[](没有任何内容)。
typeof buyUniq
表明它是一个对象。
使用JS的Boolean()对象包装器,它返回true。
Boolean(buyUniq)
下划线的_.isEmpty()表示该对象不为空(返回false)
_.isEmpty(buyUniq)
为什么对象显示它不是空的
答案 0 :(得分:1)
转换为布尔值时的对象计算结果为true
试试这个简单的
var a = {};
Boolean(a);//outputs true
如何检查对象内是否有任何内容?
只检查对象是否有任何键
Object.keys(a).length > 0; //if returns true then it has something inside it
答案 1 :(得分:1)
> Boolean([]) // empty array
< true
> Boolean({}) // empty object
< true
数组长度:
myArray.length
对象长度:
Object.keys(myObject).length;
答案 2 :(得分:0)
rateit会将值显示为对象。
例如:
var sellUniq = $(".describedRate").rateit('value');
var buyUniq = $(".paymentRate").rateit('value');
$(".describedRate")
存在且$(".paymentRate")
没有。
sellUniq将是一个数字,buyUniq将是一个非空的对象。