在应用程序脚本中循环遍历Switch语句

时间:2018-10-09 19:48:05

标签: javascript google-apps-script

我有一个对象,其中包含由问题和答案组成的键值对。提出问题的方式有几种,因此,我尝试使用switch语句和js match函数对含义相同的问题进行分组。

{ 'Name?' : 'bob', q2: a2, .......}

我想遍历对象,并在数组元素和对象键之间找到部分匹配项。到目前为止,我有:

switch (/terms/.test(key)) {

  case ( terms ="Name|What's Your Name?"):
    text = "matched";
    break;

  default:
    text = "default";
    Logger.log(key);

}

        Logger.log(text)




  });

部分输出显示:

18-10-09 15:37:41:415 EDT] *What's Your Name?* 
[18-10-09 15:37:41:416 EDT] default

显然没有发生匹配。我该如何工作?

编辑:

我将代码更改为:

Object.keys(obj).forEach(function(key) {

switch (true) {

     case (/^Name|term2$/.test(key)):         
    text = "MATCHED!!!!";
    break;
  case 0:
  case 6:
    //        text = "It is Weekend";
    break;
  default:
    text = "default";
    Logger.log(key);

}

        Logger.log(text)


  });

仍然没有匹配。

1 个答案:

答案 0 :(得分:2)

您可以像这样组合开关盒:

switch (key) {
  case 'Name':
  case 'What\'s Your Name?':
    // Do something
    break;

  default:
    // Do something
}

此代码等效于:

if (key === 'Name' || key === 'What\'s Your Name?') {
  // Do something
} else {
 // Do something
}