我正在寻找一种解决方案,以检查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)) {
...
}