多个触发器" case"在一个数组中

时间:2016-02-13 04:11:15

标签: javascript arrays node.js

    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会

1 个答案:

答案 0 :(得分:0)

是的,你可以这样做,但如果每个案例你有很多选择,我不会推荐它。在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;
}