手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >如何将一个String和多个String值进行比较思路分析
如何将一个String和多个String值进行比较思路分析
摘要:开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用||符号连接多个===完成,比如:复制代码代码如下:if(s...

开发中我们经常需要将一个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值进行比较思路分析】相关文章:

根据内容自动调整弹出窗口大小的JS解决方案

javascript转换静态图片,增加粒子动画效果

HTML TO JavaScript 转换

JavaScript中的Math.SQRT1_2属性使用简介

JavaScript静态的动态

JQuery中clone方法复制节点

Javascript的IE和Firefox兼容性汇编

JavaScript中数组添加值和访问值常见问题

AngularJs中route的使用方法和配置

简介JavaScript中toTimeString()方法的使用

精品推荐
分类导航