一直在寻找可以使用 switch 语句测试变量是否具有特定单词的东西:
JavaScript
var str = "We are VR Troopers";
switch (str) {
case str.includes("are"):
// do something;
break;
// no default
}
我看过here但什么也没找到。您能提供您的答案的链接吗?这对我的学习来说是一个加分项。谢谢。
如果太多我想限制使用if
的。
最佳答案
如果您不想使用 if
,最简单的解决方案是使用 switch(true)
构造。
当你有一个常量参数需要检查时,我还建议避免 includes
因为它的支持现在很差(IE 和 Edge 都不支持它),并倾向于使用正则表达式(使用polyfill(如果您的参数是可变的)。
参见:
var str = "We are VR Troopers";
switch (true) {
case /are/.test(str):
// do something;
break;
// no default
}
例如,您可以改进它以测试它是否是单词,或者是否使用 /\bare\b/
或 /are/i
等表达式不区分大小写。
关于包含字符串的 JavaScript Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38802423/