平時在書寫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...