【发布时间】:2016-04-26 10:04:31
【问题描述】:
我有一长串要与同一个变量进行比较的字符串。
有没有更短的方法来做到这一点?
if(val=="kivi" || val=="apples" || val=="lychee" || val=="banana.C" || val=="mangos")
【问题讨论】:
-
不。这与直接字符串比较一样短。
标签: javascript jquery
我有一长串要与同一个变量进行比较的字符串。
有没有更短的方法来做到这一点?
if(val=="kivi" || val=="apples" || val=="lychee" || val=="banana.C" || val=="mangos")
【问题讨论】:
标签: javascript jquery
将 indexOf 与值数组一起使用
var valArr = ["kivi","apples","lychee","banana.C","mangos"];
if(valArr.indexOf(val) > -1){
.......
}
【讨论】:
您可以创建一个数组并检查该值是否存在于数组中。
var fruits = ['kivi', 'apples', 'lychee', 'banana.C', 'mangos'];
if (fruits.includes(val)) {
var fruits = ['kivi', 'apples', 'lychee', 'banana.C', 'mangos'];
document.getElementById('test').addEventListener('keyup', function() {
document.getElementById('result').textContent = 'Contains? ' + fruits.includes(this.value);
}, false);
<input type="text" id="test" />
<div id="result"></div>
请注意,最新的浏览器支持此功能。但是,polyfill 可以在旧版浏览器中使用。
【讨论】:
不。这与直接字符串比较一样短。
如果您有很多值要比较,您可以将这些值放在一个数组中并使用indexOf,如下所示:
var comparisons = ["kivi", "apples", "lychee", "banana.C", "mangos" ];
if (comparisons.indexOf(val) != -1) {
// do something...
}
【讨论】:
myArr = ["kivi", "apples", "lychee", "banana.C", "mangos"];
if(myArr.indexOf(val) != -1)
{
// Element Found!!
}
【讨论】:
一行检查:
if (['kivi', 'apples', 'lychee', 'banana.C', 'mangos'].includes(val)) {
// Some code
}
【讨论】: