使用
var a = _.where(list, {key: "value"});
if (a) console.log("exists");
条件似乎不起作用,但如果我改为if (a != "")
则确实如此。因为a = []没有找到任何我使用if (a.length > 0)
的东西,但只是好奇为什么它使用空字符串然后不使用原始示例。在JS中,这不是一个空字符串吗?
答案 0 :(得分:1)
是的,空字符串是JavaScript中的一个虚假值,但是where
方法返回一个数组而一个数组是一个不是虚假值的对象,即使空数组也是真实的
[] != '' // false
!![] // true