代碼優(yōu)化和效率提升的方法(二)使用數(shù)組取值代替判斷條件

在代碼編寫(xiě)的工程中些举,難免會(huì)遇到多重判斷語(yǔ)句馒吴。
關(guān)于優(yōu)化的技巧勇垛,網(wǎng)上的文章雖然眾說(shuō)紛紜脖母,但歸根結(jié)底是討論使用if elseif 的方式更好,還是使用switch case的方法可讀性更強(qiáng)闲孤。
但是如果涉及到大量的判斷谆级,無(wú)論是使用if判斷還是switch判斷的方式,都會(huì)產(chǎn)生過(guò)多的冗余代碼讼积,例如肥照,下面的實(shí)例:

//根據(jù)類(lèi)型判斷用戶(hù)的具體角色 6個(gè)角色對(duì)應(yīng)6個(gè)不同的type
//使用if else 方式
function getUserRole(type) {
    var role;
    if (type == 0) {
      role = '超級(jí)管理員';
    } else if (type == 1) {
      role = '管理員';
    }else if(type==2){
      role='大區(qū)';
    }else if(type==3){
      role='XXX';
    }else if (type==6){
      role='ZZZ';
    }
    return role;
  }
//或者是通過(guò)switch case 的方式來(lái)完成:
function getUserRole(type) {
    var role;
    switch(type){
      case 0:role='超級(jí)管理員';break;
      case 1:role='管理員';break;
      case 2:role='一級(jí)代理';break;
      case 3:role='二級(jí)代理';break;
      case 4:role='三級(jí)代理';break;
      case 5:role='四級(jí)代理';break;
      case 6:role='五級(jí)代理';break;
      default: role='未知';break;
    }
    return role;
  }

如果類(lèi)型再增多的話,使用這兩種方式都不是很方便勤众,因此舆绎,我們可以先將類(lèi)型定義成數(shù)組,然后直接從數(shù)組中取值们颜。

const roleArr=[
      '超級(jí)管理員','管理員','一級(jí)代理','二級(jí)代理','三級(jí)代理','四級(jí)代理','五級(jí)代理',''
];
function getUserRole(type) {
    
    return roleArr[type];
  }

個(gè)人認(rèn)為通過(guò)這種方式可以減少代碼量亿蒸,并且而已將roleArr的內(nèi)容存儲(chǔ)為常量,便于更改掌桩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末边锁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子波岛,更是在濱河造成了極大的恐慌茅坛,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件则拷,死亡現(xiàn)場(chǎng)離奇詭異贡蓖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)煌茬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)斥铺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人坛善,你說(shuō)我怎么就攤上這事晾蜘×诰欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵剔交,是天一觀的道長(zhǎng)肆饶。 經(jīng)常有香客問(wèn)我,道長(zhǎng)岖常,這世上最難降的妖魔是什么驯镊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮竭鞍,結(jié)果婚禮上板惑,老公的妹妹穿的比我還像新娘。我一直安慰自己偎快,他們只是感情好洒放,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著滨砍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妖异。 梳的紋絲不亂的頭發(fā)上惋戏,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音他膳,去河邊找鬼响逢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛棕孙,可吹牛的內(nèi)容都是我干的舔亭。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蟀俊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钦铺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起肢预,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤矛洞,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后烫映,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體沼本,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年锭沟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抽兆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡族淮,死狀恐怖辫红,靈堂內(nèi)的尸體忽然破棺而出凭涂,到底是詐尸還是另有隱情,我是刑警寧澤厉熟,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布导盅,位于F島的核電站,受9級(jí)特大地震影響揍瑟,放射性物質(zhì)發(fā)生泄漏白翻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一绢片、第九天 我趴在偏房一處隱蔽的房頂上張望滤馍。 院中可真熱鬧,春花似錦底循、人聲如沸巢株。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)阁苞。三九已至,卻和暖如春祠挫,著一層夾襖步出監(jiān)牢的瞬間那槽,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工等舔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骚灸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓慌植,卻偏偏與公主長(zhǎng)得像甚牲,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蝶柿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350