有没有更短的方法来返回一个条件,1就像true/truthy和-1if false/falsy 一样?也许使用按位运算符?我能想到的最短方法是:condition?1:-1
4 回答
哔哔one
TA贡献1854条经验 获得超8个赞
您可以尝试以下操作:
condition ^ (condition - 1)
所以当条件为真时,那将是:
1 ^ (1 - 1)
=> 1 ^ 0
=> 1
当条件为假时:
0 ^ (0 - 1)
=> 0 ^ -1
=> -1
希望这可以帮助。
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
我看到那些:
(为了有趣的转变)
// #1
let boolToNumber = b=> +b*2-1;
// #2
boolToNumber = b => (b<<1)-1;
// #3
boolToNumber = b => b?+b:~b;
如果对您来说真正重要的是大小,请将其设为 1 个字符的函数
//
let boolToNumber = b=> +b*2-1;
let b = boolToNumber;
let c = true;
b(c)// 4 charaters
添加回答
举报
0/150
提交
取消