JS - 在开关盒内使用功能进行评估



我有 id 的对象,如alternative1alternative2等。我想以相同的方式设置所有这些样式,所以我正在尝试:

switch (feature.id) {
case 'marker':
...
break;
case feature.id.includes('alternative'):
case 'connectionMarker':
... //add styling
break;

这似乎行不通。我该怎么做?

您可以使用一个简单的技巧:

switch (feature.id) {
case 'marker':
...
break;
case (feature.id.includes('alternative') ? feature.id : !feature.id):
// your code here
break;
case 'connectionMarker':
...
break;
}

由于feature.id始终是字符串值,因此!feature.id将始终返回 false。因此,如果feature.id包含"替代",则此行:

case (feature.id.includes('alternative') ? feature.id : !feature.id):

成为:

case feature.id:

情况将永远如此(如feature.id === feature.id(。否则,该行的计算结果为:

case 0:

口译员将跳过。

最新更新