亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將條件返回為 1 和 -1 的最短方法是什么

將條件返回為 1 和 -1 的最短方法是什么

慕沐林林 2022-11-27 17:18:06
有沒有更短的方法來返回一個條件,1就像true/truthy和-1if false/falsy 一樣?也許使用按位運算符?我能想到的最短方法是:condition?1:-1
查看完整描述

4 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

假設condition是一個布爾值,我們可以一個角色:

condition*2-1

(并不是說我會推薦這樣寫代碼……)


一定有比這更短的方法i + (i%2==0?1:-1)

您真正想要的只是切換數字中的最后一位,這可以通過異或來實現:

i^1


查看完整回答
反對 回復 2022-11-27
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

就拿

+condition || -1

其中condition是一個布爾值。


查看完整回答
反對 回復 2022-11-27
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

您可以嘗試以下操作:


condition ^ (condition - 1)

所以當條件為真時,那將是:


1 ^ (1 - 1)

 => 1 ^ 0

 => 1

當條件為假時:


0 ^ (0 - 1)

=> 0 ^ -1

=> -1

希望這可以幫助。


查看完整回答
反對 回復 2022-11-27
?
搖曳的薔薇

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


查看完整回答
反對 回復 2022-11-27
  • 4 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號