Javascript+;正则表达式:开关盒性能不一致

Javascript+;正则表达式:开关盒性能不一致,javascript,regex,Javascript,Regex,我是个笨蛋,需要帮助。我正在做一个个人项目:一个基于文本的游戏。我创建了一个switch case来解析用户输入。除了一个案例外,所有案例都能始终如一地发挥作用。有关案例可在此处找到: 对于那些不想点击链接的人,代码如下所示(没有所有额外的逻辑): 简言之,复制/粘贴“解谜”并调用解析器会产生混合结果。案例中的逻辑仅每隔一次运行一次。具有类似设置的所有其他案例(RegEx的var和具有三元设置的案例)工作一致,没有任何问题 由于我是一个noob,我知道可能有更好的方法以更简洁的方式实现相同的结

我是个笨蛋,需要帮助。我正在做一个个人项目:一个基于文本的游戏。我创建了一个switch case来解析用户输入。除了一个案例外,所有案例都能始终如一地发挥作用。有关案例可在此处找到:

对于那些不想点击链接的人,代码如下所示(没有所有额外的逻辑):

简言之,复制/粘贴“解谜”并调用解析器会产生混合结果。案例中的逻辑仅每隔一次运行一次。具有类似设置的所有其他案例(RegEx的var和具有三元设置的案例)工作一致,没有任何问题

由于我是一个noob,我知道可能有更好的方法以更简洁的方式实现相同的结果


有没有办法修复这个麻烦的bug?

你怎么知道它只每隔一段时间运行一次?您是否在其中放置了
控制台.log
,或者…?@Ryan内部案例逻辑在游戏UI上添加了一些特定的HTML,作为用户的反馈。在这种情况下,它每隔一次就正确运行一次,其他时候逻辑得到默认情况(添加了一些不同的HTML)。你可以使用if/else,而不是在这里切换,因为你说这是一个“基于文本的游戏”,所以你不必担心一点性能问题
var solve = /^solve mystery$/g;

switch (user_input) {
  //Some cases

  case (solve.test(input_string) ? input_string : ""):
    //game logic
    break;

  //Other cases including Default
}