成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js中關于判斷取值的問題

Gilbertat / 667人閱讀

摘要:最后一種方式深圳深圳大學廣東省北京北京大學北京市武漢武漢大學湖北省這種方式,應該也還是不錯的,可讀性強,但貌似寫的代碼多了一點。

小伙伴們在工作中會遇到這樣的場景:
有一組變量的值是根據(jù)其他某個值來改變的,也就是一一對應,比如:

var cityCode = "城市區(qū)號",
    cityName = "城市名稱",
    university = "最高學府",
    province = "所屬省份";

城市區(qū)號是具有唯一性的,而另外三個值和城市區(qū)號是已具有關聯(lián)性的。如果城市編號不確定,但咱們就得做判斷,一般有if...else,switch...case,如下:

if( cityCode == "0755") {
    cityName = "深圳";
    university = "深圳大學";
    province = "廣東省";
} else if( cityCode == "010") {
    cityName = "北京";
    university = "北京大學";
    province = "北京市";
} else if( cityCode == "027") {
    cityName = "武漢";
    university = "武漢大學";
    province = "湖北省";
}

或者:

switch (cityCode) {
    case "0755" : 
    cityName = "深圳";
    university = "深圳大學";
    province = "廣東省";
    break;
    case "010" : 
    cityName = "北京";
    university = "北京大學";
    province = "北京市";
    break;
    case "027" : 
    cityName = "武漢";
    university = "武漢大學";
    province = "湖北省";
    break;
}

還有一種方式:

cityName = {"0755" : "深圳", "010" : "北京", "027" : "武漢"}[cityCode] || "沒有定義";
university = {"0755" : "深圳大學", "010" : "北京大學", "027" : "武漢大學"}[cityCode] || "沒有定義";
province = {"0755" : "廣東省", "010" : "北京市", "027" : "湖北省"}[cityCode] || "沒有定義";

相比上面兩種,這種方式的可讀性可能稍微差了那么一點點,可是簡潔了許多。
但還是重復了一些,根據(jù)城市編碼取了三個變量的值,結果每取一次,就要要寫一次城市編碼,反而不那么簡潔了。

最后一種方式:

var cityMode = {
    "0755" : {
        cityCode : "0755",
        cityName : "深圳",
        university : "深圳大學",
        province : "廣東省"
    },
    "010" : {
        cityCode : "010",
        cityName : "北京",
        university : "北京大學",
        province : "北京市"
    },
    "027" : {
        cityCode : "027",
        cityName : "武漢",
        university : "武漢大學",
        province : "湖北省"
    }
};
cityName = cityMode[cityCode].cityNanme;
university = cityMode[cityCode].university;
province = cityMode[cityCode].province;

這種方式,應該也還是不錯的,可讀性強,但貌似寫的代碼多了一點。

以上,歡迎各位朋友指正,也希望能看到更好更簡潔的寫法。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/79960.html

相關文章

  • VUE - MVVM - part13 - inject & 總結

    摘要:通過裝作這些變化,我們實現(xiàn)了從而到達了數(shù)據(jù)變化觸發(fā)函數(shù)的過程。于此同時,我們還實現(xiàn)了來擴展這個可響應的結構,讓這個對象擁有了觸發(fā)和響應事件的能力。最后,根據(jù)我們的實現(xiàn),這是最終的產(chǎn)出,一個框架,了解一下系列文章地址優(yōu)化優(yōu)化總結 看這篇之前,如果沒有看過之前的文章,移步拉到文章末尾查看之前的文章。 provide / inject 在上一步我們實現(xiàn)了,父子組件,和 props 一樣 pr...

    niuxiaowei111 評論0 收藏0
  • Java中關包裝類型容易入坑一個點

    摘要:二調(diào)試過程經(jīng)過后發(fā)現(xiàn),在類型數(shù)值比較中使用的是,咋看之下沒啥問題,其實是有問題的在這里為包裝類,是一個對象。使用包裝類重寫過的方法就可以正確對包裝類型的數(shù)值正確進行判斷了。 一、問題描述 在一次對樹形結構的數(shù)據(jù)遍歷中,出現(xiàn)了樹形變亂的問題,在此遍歷的ID采用Long類型,在數(shù)值比較中達到某個界定值后,樹形結構變形。 showImg(https://segmentfault.com/im...

    時飛 評論0 收藏0
  • Angular中關時間操作總結

    摘要:上顯示出來時間本地系統(tǒng)顯示時間發(fā)送前控制臺打印出來瀏覽器網(wǎng)絡中監(jiān)測顯示解決方案只有在發(fā)送時間類型的數(shù)據(jù)時會進行轉換,導致相差個小時,但是我發(fā)送前就將其轉換成字符串,就不會造成這樣的結果了。 創(chuàng)建時間 使用new Date(),可以看見有5種構造函數(shù) showImg(https://segmentfault.com/img/remote/1460000013946509); co...

    mengera88 評論0 收藏0
  • VUE - MVVM - part1 - defineProperty

    摘要:在中關于如何實現(xiàn)在網(wǎng)上可以搜出不少,在看了部分源碼后,梳理一下內(nèi)容。換個說法,當我們?nèi)≈档臅r候,函數(shù)自動幫我們添加了針對當前值的依賴,當這個值發(fā)生變化的時候,處理了這些依賴,比如說節(jié)點的變化。 在 VUE 中關于如何實現(xiàn)在網(wǎng)上可以搜出不少,在看了部分源碼后,梳理一下內(nèi)容。 首先,我們需要了解一下 js 中的一個 API :Object.defineProperty(obj, prop,...

    liukai90 評論0 收藏0
  • js筆記系列之--位置及相對位置事件坐標

    摘要:入門系列之位置及相對位置事件坐標寫過代碼的一般都知道,在頁面操作中,坐標概念是一個很重要的概念,幾乎所有的頁面交互都牽扯到坐標的概念。,及表示的是事件觸發(fā)點相對于事件發(fā)生所在節(jié)點左上角的位置。我們可以通過獲取到元素相對于文檔的位置信息。 js入門系列之 位置及相對位置事件坐標 寫過代碼的一般都知道,在頁面操作中,坐標概念是一個很重要的概念,幾乎所有的頁面交互都牽扯到坐標的概念。尤...

    Michael_Ding 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<