面對(duì)條件單一但冗長(zhǎng)的if else

網(wǎng)上無意看到一篇文章覺得不錯(cuò),但不能轉(zhuǎn)載症副,便是關(guān)于標(biāo)題描述的店雅。通過map數(shù)據(jù)結(jié)構(gòu)來替換if else,顯得更加簡(jiǎn)潔明了贞铣。

對(duì)于Map數(shù)據(jù)結(jié)構(gòu)來做個(gè)簡(jiǎn)單介紹:

定義:

Map對(duì)象是一組鍵/值對(duì)的集合闹啦,鍵值可以是任何值。


語法:

new Map([iterable])Iterable 是一個(gè)數(shù)組(2元數(shù)組)或者其他可迭代的且其元素是鍵值對(duì)的對(duì)象辕坝。每個(gè)鍵值對(duì)會(huì)被加到新的 WeakMap 里亥揖。null 會(huì)被當(dāng)做 undefined。


屬性:

Map.length 為0圣勒;Map.prototype.constructor 返回創(chuàng)建Map實(shí)例的原型函數(shù)费变。 Map函數(shù)是默認(rèn)的。


方法:

[Map.prototype.delete(key)]

移除key的關(guān)聯(lián)對(duì)象圣贸。執(zhí)行后 Map.prototype.has(key)返回false挚歧。

[Map.prototype.get(key)]

返回key關(guān)聯(lián)對(duì)象, 或者 undefined(沒有key關(guān)聯(lián)對(duì)象時(shí))。

[Map.prototype.has(key)]

根據(jù)是否有key關(guān)聯(lián)對(duì)象返回一個(gè)Boolean值吁峻。

[Map.prototype.set(key, value)]
在Map中設(shè)置一組key關(guān)聯(lián)對(duì)象滑负,返回這個(gè)Map對(duì)象在张。


實(shí)例:


var status = 8;

  // 常用的if else 進(jìn)行 條件判斷來do somethings

        if(status == 1){

            console.log(111111)

        }else if(status == 2){

            console.log(222222)

        }else if(status == 3){

            console.log(333333)

        }else{

            console.log(status)

        }                      // 8

        // switch case的寫法 相比if else 是有一些優(yōu)化了!

        switch (status){

            case 1:

            console.log(status)

            break

            case 2:

            console.log(status)

            break

            case 3:

            console.log(status)

            default:

            console.log(status)

            break;

        }                            // 8

        // 對(duì)象object 數(shù)據(jù)結(jié)構(gòu)的寫法  簡(jiǎn)潔了

        var obj = {

            "1":"11111",

            "2":"22222",

            "3":"33333"

        }

        console.log(obj[status] || status)  // 8

        // Map數(shù)據(jù)結(jié)構(gòu)的寫法    和object差不多

        var mMap = new Map([

            ["1","11111"],

            ["2","22222"],

            ["3","33333"]

        ])

        console.log(mMap.get(status) || status)  // 8

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市矮慕,隨后出現(xiàn)的幾起案子帮匾,更是在濱河造成了極大的恐慌,老刑警劉巖痴鳄,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘟斜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡痪寻,警方通過查閱死者的電腦和手機(jī)螺句,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橡类,“玉大人蛇尚,你說我怎么就攤上這事」嘶” “怎么了取劫?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)研侣。 經(jīng)常有香客問我勇凭,道長(zhǎng),這世上最難降的妖魔是什么义辕? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮寓盗,結(jié)果婚禮上灌砖,老公的妹妹穿的比我還像新娘。我一直安慰自己傀蚌,他們只是感情好基显,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著善炫,像睡著了一般撩幽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上箩艺,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天窜醉,我揣著相機(jī)與錄音,去河邊找鬼艺谆。 笑死榨惰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的静汤。 我是一名探鬼主播琅催,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼居凶,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了藤抡?” 一聲冷哼從身側(cè)響起侠碧,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缠黍,沒想到半個(gè)月后弄兜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嫁佳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年挨队,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒿往。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盛垦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瓤漏,到底是詐尸還是另有隱情腾夯,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布蔬充,位于F島的核電站蝶俱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏饥漫。R本人自食惡果不足惜榨呆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庸队。 院中可真熱鬧积蜻,春花似錦、人聲如沸彻消。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宾尚。三九已至丙笋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間煌贴,已是汗流浹背御板。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牛郑,地道東北人稳吮。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像井濒,于是被迫代替她去往敵國(guó)和親灶似。 傳聞我的和親對(duì)象是個(gè)殘疾皇子列林,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.Set 基本用法 ES6提供了新的數(shù)據(jù)結(jié)構(gòu)Set。它類似于數(shù)組酪惭,但是成員的值都是唯一的希痴,沒有重復(fù)的值。Set本...
    雨飛飛雨閱讀 1,850評(píng)論 0 7
  • [TOC] 參考阮一峰的ECMAScript 6 入門參考深入淺出ES6 let和const let和const都...
    郭子web閱讀 1,781評(píng)論 0 1
  • Set 基本用法 ES6提供了新的數(shù)據(jù)結(jié)構(gòu)Set春感。它類似于數(shù)組砌创,但是成員的值都是唯一的,沒有重復(fù)的值鲫懒。Set本身是...
    oWSQo閱讀 789評(píng)論 0 1
  • 我去你大爺?shù)哪凼担尤皇菃适。拥】遥?dāng)時(shí)我二話沒說甲献,我直接把她抓住,上去朝她肚子上來了一拳颂翼,打在她身上晃洒,我也不...
    欲求眾生閱讀 257評(píng)論 0 1
  • 弟弟(王志龍版創(chuàng)作) 小小光頭大大”皮”,每次都把我來“騎”朦乏。 光頭下面“木”眉毛球及,溜溜眼下“榻榻鼻”。 嘟嘟小嘴...
    五一班王志龍閱讀 208評(píng)論 0 1