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

資訊專欄INFORMATION COLUMN

如何將一個(gè)String和多個(gè)String值進(jìn)行比較

Betta / 1202人閱讀

摘要:開發(fā)中我們經(jīng)常需要將一個(gè)和多個(gè)值進(jìn)行比較。這看起來(lái)不錯(cuò),但是總是要多打些字,對(duì)于不喜歡多打字的人來(lái)說(shuō)不是個(gè)好方法。提供了一個(gè)方法提供了一個(gè)方法正則表達(dá)式當(dāng)然,我們還有終極武器正則表達(dá)式

開發(fā)中我們經(jīng)常需要將一個(gè)String和多個(gè)String值進(jìn)行比較。直覺反應(yīng)是使用||符號(hào)連接多個(gè)===完成,比如:

if (string === "banana" || string === "pineapple") {
   fruitColor = "yellow";
}

這樣能夠很好的完成需求,但總覺得有點(diǎn)笨,并且對(duì)擴(kuò)展不友好,當(dāng)我們的水果種類變多時(shí):

if (string === "banana" || string === "pineapple" || string === "mongo" || string === "lemon") {
   fruitColor = "yellow";
}

上面的代碼看起來(lái)就不那么好看了,讓我們看看有什么其他方式能夠處理這種需求。

Switch
switch(string) {
    case "banana":
    case "pineapple":
    case "mongo":
    case "lemon":
      fruitColor = "yellow";
}

這看起來(lái)不錯(cuò),但是總是要多打些字,對(duì)于不喜歡多打字的人來(lái)說(shuō)不是個(gè)好方法。

Array
if (["banana", "pineapple", "mongo", "lemon"].indexOf(string) >= 0) {
    fruitColor = "yellow";
}

這下好多了,但還有個(gè)問(wèn)題,IE9以下的IE瀏覽器并不支持indexOf方法,如果你要在IE<=8的環(huán)境中使用Array方式比較多個(gè)string值,要么自己寫一個(gè)indexOf方法,要么就得引入一些庫(kù)來(lái)做瀏覽器兼容。

jQuery

jQuery提供了一個(gè)inArray方法

if ($.inArray(string, ["banana", "pineapple", "mongo", "lemon"]) >= 0) {
    fruitColor = "yellow";
}
Underscore

Underscore提供了一個(gè)contains方法

if (_.contains(["banana", "pineapple", "mongo", "lemon"], string)) {
    fruitColor = "yellow";
}
正則表達(dá)式

當(dāng)然,我們還有終極武器——正則表達(dá)式

if (/^(banana|pineapple|mongo|lemon)$/.test(string)) {
    fruitColor = "yellow";
}

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78557.html

相關(guān)文章

  • 《轉(zhuǎn)載》經(jīng)典的Java基礎(chǔ)面試題集錦

    摘要:經(jīng)典的基礎(chǔ)面試題集錦經(jīng)典的基礎(chǔ)面試題集錦,歡迎收藏和分享。類變量或者說(shuō)靜態(tài)變量是通過(guò)這個(gè)關(guān)鍵字來(lái)聲明的。非靜態(tài)變量在每一個(gè)對(duì)象實(shí)例上都有單獨(dú)的一份值。對(duì)象允許程序和數(shù)據(jù)進(jìn)行封裝,以減少潛在的干涉。 經(jīng)典的Java基礎(chǔ)面試題集錦 經(jīng)典的Java基礎(chǔ)面試題集錦,歡迎收藏和分享。 問(wèn)題:如果main方法被聲明為private會(huì)怎樣? 答案:能正常編譯,但運(yùn)行的時(shí)候會(huì)提示main方法不是pub...

    Winer 評(píng)論0 收藏0
  • Java 最常見 200+ 面試題全解析:面試必備(附答案)

    摘要:的簡(jiǎn)稱,運(yùn)行環(huán)境,為的運(yùn)行提供了所需環(huán)境。分割字符串,返回一個(gè)分割后的字符串?dāng)?shù)組。線程安全是線程安全的,而是非線程安全的。迭代器取代了集合框架中的,迭代器允許調(diào)用者在迭代過(guò)程中移除元素。 本文分為十九個(gè)模塊,分別是:?Java 基礎(chǔ)、容器、多線程、反射、對(duì)象拷貝、Java Web 、異常、網(wǎng)絡(luò)、設(shè)計(jì)模式、Spring/Spring MVC、Spring Boot/Spring Clou...

    hufeng 評(píng)論0 收藏0
  • 在下函數(shù)式編程有何貴干

    摘要:尾聲除了以上特性,函數(shù)式編程中還有,等比較難以理解的概念,本文暫時(shí)不牽扯那么深,留待有興趣的人自行調(diào)查。 本文簡(jiǎn)單介紹了一下函數(shù)式編程的各種基本特性,希望能夠?qū)τ跍?zhǔn)備使用函數(shù)式編程的人起到一定入門作用。 showImg(/img/bVyUGu); 函數(shù)式編程,一個(gè)一直以來(lái)都酷,很酷,非常酷的名詞。雖然誕生很早也炒了很多年但是一直都沒有造成很大的水花,不過(guò)近幾年來(lái)隨著多核,分布式,大數(shù)據(jù)...

    April 評(píng)論0 收藏0
  • 如何編寫 Typescript 聲明文件

    摘要:函數(shù)重載這個(gè)概念是在一些強(qiáng)類型語(yǔ)言中才有的,依托于,這也算是一門強(qiáng)類型語(yǔ)言了,所以就會(huì)有需要用到這種聲明的地方。 使用TypeScript已經(jīng)有了一段時(shí)間,這的確是一個(gè)好東西,雖說(shuō)在使用的過(guò)程中也發(fā)現(xiàn)了一些bug,不過(guò)都是些小問(wèn)題,所以整體體驗(yàn)還是很不錯(cuò)的。 TypeScript之所以叫Type,和它的強(qiáng)類型是分不開的,這也是區(qū)別于JavaScript最關(guān)鍵的一點(diǎn),類型的聲明可以直...

    姘擱『 評(píng)論0 收藏0
  • Java基礎(chǔ)知識(shí)整理

    摘要:有兩個(gè)重要的子類異常和錯(cuò)誤,二者都是異常處理的重要子類,各自都包含大量子類。錯(cuò)誤是程序無(wú)法處理的錯(cuò)誤,表示運(yùn)行應(yīng)用程序中較嚴(yán)重問(wèn)題。異常由虛擬機(jī)拋出。迭代器通常被稱為輕量級(jí)對(duì)象,因?yàn)閯?chuàng)建它的代價(jià)小。 面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別 面向過(guò)程 優(yōu)點(diǎn): 性能比面向?qū)ο蟾?,因?yàn)轭愓{(diào)用時(shí)需要實(shí)例化,開銷比較大,比較消耗資源;比如單片機(jī)、嵌入式開發(fā)、Linux/Unix等一般采用面向過(guò)程開發(fā),性能是...

    hankkin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<