首页 > 解决方案 > 如果JS中的干净方式如何检查变量是否等于两个值之一

问题描述

要检查x变量是否等于 1 或 2,我通常会执行以下操作:

if (x === 1 || x === 2){
   // ....
}

但这在某些情况下会变得非常麻烦。

编辑:我现在正在处理这个问题,每次我认为可以以更简洁的方式完成时都写下函数名称:

if (
      this.getNotificationStatus() === 'denied' ||
      this.getNotificationStatus() === 'blocked'
    )

有没有其他更轻松的方式来写这个?

谢谢

标签: javascriptif-statement

解决方案


你可以这样做:

if ([1, 2].includes(x)) {
  // ....
}

或者:

if ([1, 2].indexOf(x) > -1) {
  // ....
}

或者:

switch (x) {
  case 1:
  case 2:
    // ....
    break;
  default:
}

不过,我认为它们并不比您的解决方案“轻”。


推荐阅读