条件或更多字符串的较短语法

时间:2017-08-16 10:55:29

标签: javascript typescript

我有这样的事情:

if(this.selectedItem.label == "str1"
   || this.selectedItem.label == "str2"
   || this.selectedItem.label == "str3"
   || this.selectedItem.label == "str4") {
}

我想知道是否存在更短的语法来使用" this.selectedItem.label"只有一个。

2 个答案:

答案 0 :(得分:9)

可能是数组和indexOf函数吗?

if(["str1","str2","str3","str4"].indexOf(this.selectedItem.label) > -1){
  // found
}

这是一个跨浏览器的解决方案。

哦,好includes未在IE中测试

if(["str1","str2","str3","str4"].includes(this.selectedItem.label)){

}

答案 1 :(得分:2)

if(["str1", "str2"].indexOf(this.selectedItem.label) !== -1) {
   // TO DO 
}