gpt4 book ai didi

javascript - 在 Lodash (JavaScript) 中,是否有返回第一个 "truthy"或 "meaningful"值的函数?

转载 作者:行者123 更新时间:2023-11-29 19:02:16 26 4
gpt4 key购买 nike

在 Lodash 中,有没有办法做类似的事情:

foo = firstTruthy(foo, bar, 10);

以便将第一个“truthy”值分配给 foo?引用“truthy”是因为某些值,例如 0"" 希望被认为是真实的。


背景信息:在 JavaScript 中,如果我们这样做

foo = foo || 10;

所以如果 foo 是未定义的,那么它被设置为 0,但是有一个问题:如果 foo0,它也被视为 falsy,因此 foo 被分配为 10。在 Lodash 或通用 JavaScript 中,有没有办法做类似的事情

foo = firstTruthy(foo, 10);         // this
foo = firstTruthy(foo, bar, 10); // or this

因此第一个真值被分配给 foo,其中 truthy 被认为是:所有不是 falsenull未定义? (所以即使 0"" 也被认为是真实的,类似于 Ruby)。

最佳答案

如果您不想a = b ||,那么您就是在滥用术语“真实” C。 “Truthy”值定义明确,您不能在该定义中任意包含其他值,例如 0""

如果您想编写自己的“分配真值或零值或其他条件组合”,请使用 Array#find :

var value = [foo, bar, baz].find(x => x || x == 0 || x == "");

关于javascript - 在 Lodash (JavaScript) 中,是否有返回第一个 "truthy"或 "meaningful"值的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com