包含字符串的JavaScript Switch语句

时间:2016-08-06 08:57:06

标签: javascript jquery

一直在寻找一些我可以测试变量是否有一个带有switch语句的单词的东西:

的JavaScript

var str = "We are VR Troopers";

switch (str) {
 case str.includes("are"):
   // do something;
   break;
  // no default
}

我看了here但什么也没找到。你能提供你的答案链接吗?这对我的学习有利。感谢。

如果if太多,我想限制使用。

1 个答案:

答案 0 :(得分:2)

如果您不想使用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等表达式不区分大小写。