在SQL中,我们可以看到字符串是否在列表中,如下所示:
Column IN ('a', 'b', 'c')
Run Code Online (Sandbox Code Playgroud)
在JavaScript中执行此操作的好方法是什么?这样做非常笨重:
if (expression1 || expression2 || str === 'a' || str === 'b' || str === 'c') {
// do something
}
Run Code Online (Sandbox Code Playgroud)
而且我不确定这个的表现或清晰度:
if (expression1 || expression2 || {a:1, b:1, c:1}[str]) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
或者可以使用切换功能:
var str = 'a',
flag = false;
switch (str) {
case 'a':
case 'b':
case 'c':
flag = true;
default:
}
if (expression1 || expression2 || flag) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
但这是一个可怕的混乱.有任何想法吗?
在这种情况下,我必须使用Internet Explorer 7作为企业内部网页面.['a', …
switch case当你需要在同一个案例中测试a 或 b时,你将如何使用?
switch (pageid) {
case "listing-page" || "home-page":
alert("hello");
break;
case "details-page":
alert("goodbye");
break;
}
Run Code Online (Sandbox Code Playgroud) 有没有办法将两个不同的大小写值分配给同一个代码块而无需复制和粘贴?例如,低于68和40应执行相同的代码,而30则不相关.
case 68:
//Do something
break;
case 40:
//Do the same thing
break;
case 30:
//Do something different
break;
Run Code Online (Sandbox Code Playgroud)
认为这样的事情应该有效是不正确的(即使它显然没有)?
case 68 || 40:
//Do something
break;
case 30:
//Do something else
break;
Run Code Online (Sandbox Code Playgroud) 如何在 switch case 中使用数组作为 case 参数?
switch ("value")
case ArrayOfStrings // check every array item to be match with value
...
Run Code Online (Sandbox Code Playgroud) 我可以在我的JS开关声明中添加条件运算符吗?
例如.case n || n:
例如.case"string2"||"string1":
switch(expression) {
case n||n:
code block
break;
case n||n:
code block
break;
default:
default code block
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码
//var r, t, y, f, g, h, c, v, b
switch(event.key) {
case 'r' : input.execute("game_stats_build " + r);
break;
case 't': input.execute("game_stats_build " + t);
break;
case 'y': input.execute("game_stats_build " + y);
break;
case 'f': input.execute("game_stats_build " + f);
break;
case 'g': input.execute("game_stats_build " + g);
break;
case 'h': input.execute("game_stats_build " + h);
break;
case 'v': input.execute("game_stats_build " + v);
break;
case 'b': input.execute("game_stats_build " + b);
break;
}
Run Code Online (Sandbox Code Playgroud)
这是多余的,每次我做出改变,我都要做很多打字.我怎么能写得更好?
此刻我正在使用这样的开关盒:
case 'something':
// Do something
break;
Run Code Online (Sandbox Code Playgroud)
我想要做的是拥有这样的数组或字符串:
case ['something', 'something too']:
// Do something
break;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
如果是这样的话?
我有一个开关盒,我想用双管将3种不同的可能情况引导到一个结果.
var type = "JPEG"
switch(type){
case "PNG" || "JPG" || "JPEG":
alert("works");
break;
default:
alert("not working");
break;
}
Run Code Online (Sandbox Code Playgroud)
显而易见的事情是为每种文件类型创建一个单独的案例,但必须有一种更有效的方式,类似于我的尝试.
大家好我搜索并发现像2008年的旧答案,我为新的浏览器创建firefox插件,所以我可以使用ecma 5+.
我试图做一个有一个块满足多个条件的开关,如if> = 0 && <= 3,如下所示:
switch (blah) {
case 0, 1, 2, 3: //<<<<<<<< this here please
//do this;
break;
default:
///do this
}
Run Code Online (Sandbox Code Playgroud)
这只是一个基本的例子.
我想要多个值来触发相同的情况.我该怎么做呢?