我正在寻找一种解决方案,以检查labelKey属性的值是to_be_rented还是to_be_put_on_sale

有条件的话,我们可以做到:

if (this.project.currentProduct.productStatus.labelKey === ('to_be_rented' || 'to_be_put_on_sale')) {

}


但这是行不通的,例如,我也在寻找使用Lodash或es2015的更复杂的替代方案。

我怎样才能做到这一点?

最佳答案

您的条件适用于:


表达式to_be_rented ||的结果to_be_put_on_sale始终为to_be_rented
您比较等于labelKey


正确的解决方案是将to_be_rented与两个字符串进行比较:

let labelKey = this.project.currentProduct.productStatus.labelKey;
if (labelKey === 'to_be_rented' || labelKey === 'to_be_put_on_sale')) {
   ...
}


使用ES2016可以简化:

let values = ['to_be_rented', 'to_be_put_on_sale'];
if (values.includes(this.project.currentProduct.productStatus.labelKey)) {
  ...
}

09-25 15:11