條件判斷的優雅寫法

2021-09-02 18:33:13 字數 1376 閱讀 8744

平時在書寫if/else if/else 條件判斷,當邏輯複雜時,寫完有種半死不活的感覺,也提現不了**水平,那麼,有什麼好方法來將他更優雅的表現呢?

下面來看個例子

const clickevent = (status,identity)=>else if(status == 2)else if(status == 3)else if(status == 4)else if(status == 5)else 

}else if(identity == 'master') else if(status == 2)else if(status == 3)else if(status == 4)else if(status == 5)else

}}

原諒我不寫每個判斷裡的具體的邏輯了,因為**太冗長了。

邏輯為二元判斷時,你的判斷量會加倍,你的**量也會加倍,這時怎麼寫更清爽呢?

const actions = new map([

['guest_1', ()=>],

['guest_2', ()=>],

['guest_3', ()=>],

['guest_4', ()=>],

['guest_5', ()=>],

['master_1', ()=>],

['master_2', ()=>],

['master_3', ()=>],

['master_4', ()=>],

['master_5', ()=>],

['default', ()=>],

])const onbuttonclick = (identity,status)=>_$`) || actions.get('default')

action.call(this)

}

上面**核心邏輯是:把兩個條件拼接成字串,並通過以條件拼接字串作為鍵,以處理函式作為值的map物件進行查詢並執行,這種寫法在多元條件判斷時候簡直爽歪歪…。

如果有些同學覺得把查詢條件拼成字串有點彆扭,那還有一種方案,就是用map物件,這裡來介紹下es6中新增的資料結構map:

map結構提供了「值—值」的對應,是一種更完善的hash結構實現。如果你需要「鍵值對」的資料結構,map比object更合適。它類似於物件,也是鍵值對的集合,但是「鍵」的範圍不限於字串,各種型別的值(包括物件)都可以當作鍵,以object物件的形式作為key:

const actions = new map([

[,()=>],

[,()=>],

//...

])const onbuttonclick = (identity,status)=>

看了以上書寫是不是優雅很多…

最簡潔條件判斷寫法

def islen strstring if len strstring 6 return true else return false在python3中有辦法只用一行完成函式 def islen strstring return true if len strstring 6 else false...

優雅的css寫法

一 利用好 摺疊 css也可以進行優雅的 摺疊而且會比html更好看 摺疊後的效果 這樣就可以很舒服的把它摺疊起來。二 向twitter bootstrap學習 1.學習的第一點就是用class,去減少id。當然這是乙個很基本的知識。2.學習的第二點是命名的詞彙。如group control ban...

P處理的中有大量判斷條件是的sql寫法

在執行p處理時需要根據傳經來的引數來寫where條件的時候可能因為,引數太多,或者傳值的範圍太多而導致sql的where條件不好寫。巢狀什麼的都out。最好的方法是,定義乙個變數如 v strsql varchar2 20000 然後執行的時候寫 v strsql select ftbl.nendo...