javascript - 条件或针对许多字符串的更短语法

标签 javascript typescript

我有这样的东西:

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

我想知道是否存在更短的语法来仅使用“this.selectedItem.label”。

最佳答案

可以是数组和indexOf功能 ?

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

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

好吧,includes (没有在 IE 中测试)

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

}

关于javascript - 条件或针对许多字符串的更短语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45711665/

相关文章:

javascript - 如何在 React Native 上的 TextInput 组件中获取动态引用和焦点

javascript - Chart js 总是在圆环图上显示标签

javascript - 如何在没有外部库的情况下从 Javascript 书签复制到剪贴板?

typescript - TypeScript 中的 `declare global` 和 `declare namespace global` 有什么区别?

javascript - 如何在 Angular2 中使用 chart.js?

typescript - 如何将一组字符串声明为一种类型?

javascript - ajax追加列表组项目不触发点击事件

javascript - 如何(或更恰本地说 : Why) does JSON. Stringify 更改 Date() 值?

javascript - Jquery 显示/隐藏按钮在主页上不起作用

javascript - WebStorm 找不到名为 TypeScript 的 ES6 导入