在Lodash,有没有办法做这样的事情:使第一个“truthy”值分配给foo
在Lodash(JavaScript)中,是否有返回第一个“真值”或“有意义”值的函数?
foo = firstTruthy(foo, bar, 10);
?引用“truthy”是因为某些值,如0
或""
想要被认为是真的。
背景信息:在JavaScript中,如果我们做
foo = foo || 10;
因此,如果foo
是不确定的,那么它被设置为0
,但后来有一个陷阱:如果foo
是0
,它也被视为falsy,因此foo
被赋值为10.在Lodash或通用JavaScript中,是否有办法执行类似
foo = firstTruthy(foo, 10); // this
foo = firstTruthy(foo, bar, 10); // or this
,以便第一个真值被分配到foo
,其中truthy被认为是:所有不是false
,null
或undefined
? (所以即使0
或""
被认为是truthy,类似于Ruby)。
是,“某事”或“有意义”......如果某人的银行账户有$ 1美元,那么这是真的,那么$ 0不应该是虚假的,因为它是有效的账户价值。同样对于字符串搜索,如果在位置0找到搜索关键字,那么它也被找到,与1或20相同。 –