最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何将一个String和多个String值进行比较思路分析_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:08:52
文档

如何将一个String和多个String值进行比较思路分析_javascript技巧

如何将一个String和多个String值进行比较思路分析_javascript技巧:开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用符号连接多个===完成,比如: 代码如下: if (string === 'banana' string === 'pineapple') { fruitColor = 'yellow'; } 这样能够很好的完成需求,但总
推荐度:
导读如何将一个String和多个String值进行比较思路分析_javascript技巧:开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用符号连接多个===完成,比如: 代码如下: if (string === 'banana' string === 'pineapple') { fruitColor = 'yellow'; } 这样能够很好的完成需求,但总


开发中我们经常需要将一个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';
}

文档

如何将一个String和多个String值进行比较思路分析_javascript技巧

如何将一个String和多个String值进行比较思路分析_javascript技巧:开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用符号连接多个===完成,比如: 代码如下: if (string === 'banana' string === 'pineapple') { fruitColor = 'yellow'; } 这样能够很好的完成需求,但总
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top