条件基于_.where

时间:2014-09-14 07:01:57

标签: javascript underscore.js lodash

使用

var a = _.where(list, {key: "value"});
if (a) console.log("exists");

条件似乎不起作用,但如果我改为if (a != "")则确实如此。因为a = []没有找到任何我使用if (a.length > 0)的东西,但只是好奇为什么它使用空字符串然后不使用原始示例。在JS中,这不是一个空字符串吗?

1 个答案:

答案 0 :(得分:1)

是的,空字符串是JavaScript中的一个虚假值,但是where方法返回一个数组而一个数组是一个不是虚假值的对象,即使数组也是真实的

[] != '' // false
!![] // true