包含字符串的 JavaScript Switch 语句

标签 javascript jquery

一直在寻找可以使用 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/

相关文章:

javascript 包括 math.js

javascript - 服务器端 cookie 和 javascript cookie 之间有什么关系?

javascript - 如何传递表单数据并重定向到另一个页面

javascript - 触发 Mixitup 过滤器 OnLoad

javascript - 如何使用 jasmine 对 jquery ajax 调用进行单元测试?

jquery - 我无法检查父级是否已被删除

javascript - 如何使用 Javascript 正则表达式从可能的单词列表中获取单词的最后一次出现?

javascript - C# Selenium 访问浏览器日志

javascript - 获取要显示的API数据表单URL

jquery - 从 Zend Framework Controller 获取 Ajax 响应