欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2013年04月22日 10:24:28   作者:  
開(kāi)發(fā)中我們經(jīng)常需要將一個(gè)String和多個(gè)String值進(jìn)行比較。直覺(jué)反應(yīng)是使用||符號(hào)連接多個(gè)===完成,感興趣的朋友可以了解下哈
開(kāi)發(fā)中我們經(jīng)常需要將一個(gè)String和多個(gè)String值進(jìn)行比較。直覺(jué)反應(yīng)是使用||符號(hào)連接多個(gè)===完成,比如:
復(fù)制代碼 代碼如下:

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

這樣能夠很好的完成需求,但總覺(jué)得有點(diǎn)笨,并且對(duì)擴(kuò)展不友好,當(dāng)我們的水果種類(lèi)變多時(shí):
復(fù)制代碼 代碼如下:

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

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

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

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

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

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

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

Underscore
Underscore提供了一個(gè)contains方法
復(fù)制代碼 代碼如下:

if (_.contains(['banana', 'pineapple', 'mongo', 'lemon'], string)) {
fruitColor = 'yellow';
}

正則表達(dá)式
當(dāng)然,我們還有終極武器——正則表達(dá)式
復(fù)制代碼 代碼如下:

if (/^(banana|pineapple|mongo|lemon)$/.test(string)) {
fruitColor = 'yellow';
}
您可能感興趣的文章:

相關(guān)文章

最新評(píng)論