【问题标题】:Multiple triggers "case"s in an array [duplicate]数组中的多个触发器“案例”[重复]
【发布时间】:2016-05-24 09:25:11
【问题描述】:
    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;
    }
}

这是我正在使用的代码示例,目前会输出

found xxx
found zzz

有没有办法以多种方式“触发”一个案例?比如

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

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

【问题讨论】:

  • 啊,我的错,确实是:3 我做了一个快速搜索,但我担心我不知道正确的“措辞”所以我什么也没找到

标签: javascript arrays node.js


【解决方案1】:

是的,您可以这样做,但如果您每个案例有很多替代方案,我不建议您这样做。在 switch 语句中break 确保程序存在 switch 语句,而不是继续以下情况。因此,如果您想检查多个案例,您可以简单地将 break 排除在最后一个之外,就像这样。

...

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;
}

【讨论】:

  • 谢谢 :) 这真的很有帮助,我每个案例只有 2/3 个触发器。
猜你喜欢
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
  • 2014-03-15
相关资源
最近更新 更多