国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

如何將一個String和多個String值進行比較思路分析

2019-11-20 22:47:24
字體:
來源:轉載
供稿:網友
開發中我們經常需要將一個String和多個String值進行比較。直覺反應是使用||符號連接多個===完成,比如:
復制代碼 代碼如下:

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

這樣能夠很好的完成需求,但總覺得有點笨,并且對擴展不友好,當我們的水果種類變多時:
復制代碼 代碼如下:

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

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

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

這看起來不錯,但是總是要多打些字,對于不喜歡多打字的人來說不是個好方法。
Array
復制代碼 代碼如下:

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

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

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

Underscore
Underscore提供了一個contains方法
復制代碼 代碼如下:

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

正則表達式
當然,我們還有終極武器――正則表達式
復制代碼 代碼如下:

if (/^(banana|pineapple|mongo|lemon)$/.test(string)) {
fruitColor = 'yellow';
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郑州市| 宝山区| 宜君县| 桐城市| 囊谦县| 永嘉县| 龙里县| 丰顺县| 锦州市| 五河县| 鲁山县| 重庆市| 兰溪市| 长子县| 承德县| 威宁| 綦江县| 韶山市| 长丰县| 娱乐| 青川县| 奉节县| 东阿县| 镇赉县| 休宁县| 陈巴尔虎旗| 铜川市| 和林格尔县| 沈丘县| 金阳县| 临夏市| 周至县| 宝丰县| 抚州市| 安阳市| 都江堰市| 手游| 岳池县| 海淀区| 辽阳市| 隆化县|