当前位置: 首页 > 知识库问答 >
问题:

数组中的多个触发器“case”[重复]

滑令
2023-03-14
    var message = "hello [[xxx]] bye [[ZZZ]]"

var result, re = /\[\[(.*?)\]\]/g;
while ((result = re.exec(message)) != null) {
    switch (result[1].toLowerCase()) {

        case "xxx":
            console.log("found xxx");
            break;

        case "zzz":
            console.log("found zzz");
            break;
    }
}

这是im使用的代码的一个示例,当前它将输出

found xxx
found zzz

有没有一种方法可以通过多种方式“触发”一个案例?例如

case "xxx", "aaa", "bbb":
            console.log("found 3xletters");
            break;

我试过这个^^^,但是只有最后一件事可以触发它,所以在上面的情况下xxx和aaa不会触发,但是bbb会

共有1个答案

秦胡媚
2023-03-14

是的,你可以这样做,但是如果你每种情况下有很多选择,我不建议这样做。在开关语句中,中断确保程序存在开关语句,而不是继续执行以下情况。所以,如果您想检查多个情况,您可以简单地将突破排除在除了最后一个之外的所有情况之外,就像这样。

...

switch (result[1].toLowerCase()) {
  case "aaa":
  case "bbb":
  case "xxx":
      console.log("found aaa, bbb, or xxx");
      break;
  case "zzz":
      console.log("found zzz");
      break;
}
 类似资料:
  • 这是im使用的代码的一个示例,当前它将输出 有没有办法把多种方式“触发”一个案件?例如 我已经尝试了^^^,但只有最后一个东西可以触发它,所以在上面的情况下,xxx和aaa不会触发,但bbb会触发

  • 我正在使用的弹出窗口来显示菜单选项。 但问题是,它不适用于多种场景。 我的意思是,当我点击第一个菜单按钮时,同样的方法会被触发,因此每次都会打开同样的菜单。 处理此特定场景的更好方法应该是什么。 这是小吃

  • 我只需要在更新容器中的所有4行时运行函数。我还没有在网上找到任何关于这是否可能的信息。如果你能告诉我这是否可能,如果可能的话,怎么做,那就太好了。

  • 我有一个 Blob 存储容器,其中配置了事件网格触发器(Blob 已创建)。我正在通过数据工厂加载此 blob 存储文件,很多时候,许多文件可能会在一次尝试中出现在此 blob 中。也许我们可以举一个20个文件的例子。 好消息是我的事件网格触发器启动了,函数app被调用。然而,我发现有时对于同一个文件,事件网格触发器被触发了不止一次。 在这20个文件中,很少有文件非常大,比如300 MB,但其他文

  • 我是Azure Function应用程序中blob触发器的新手,需要一些帮助。我正在努力寻找有关如何重命名触发该函数的blob的资源。 我有一个函数应用程序,当一个新的blob被上传到容器时触发,文件被处理,我需要一种方法来将其“标记”为已处理,因此我想重命名blob。 这是我的职责: 我该如何重命名该文件?在这种情况下有可能吗?

  • 问题内容: 如果MySQL触发器中有多个if语句,那么最佳方法是什么? 目前,我的SQL如下所示: 乍看之下,这似乎行得通。但是,我注意到,当多个(else)if语句为true时,仅第一个语句被执行(例如,就像在PHP中一样)。 我如何只使用多个if,而不必是elseif,以便执行多于1条语句?用相同的动作创建多个触发器是不可能的,至少phpMyAdmin所示。将多个if置于一个触发器中会导致错误