循环访问应用脚本中的 Switch 语句



我有一个对象,其中包含由问题和答案组成的键值对。有几种不同的提问方式,所以我尝试使用 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)

});

还是没有匹配。

您可以像这样组合开关情况:

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
}

最新更新