Typescript 如何检查字符串枚举数组是否包含字符串
我在typescript中声明了一个枚举,如下所示:Typescript 如何检查字符串枚举数组是否包含字符串,typescript,Typescript,我在typescript中声明了一个枚举,如下所示: enum MultiPhaseUnits { AMPERAGE = 'AMPERAGE', VOLTAGE = 'VOLTAGE', POWER_FACTOR = 'POWER_FACTOR', LINE_VOLTAGE = 'LINE_VOLTAGE' } 并创建一个枚举值数组,如下所示: this.multiPhaseUnits = [MultiPhaseUnits.AMPERAGE, MultiPhas
enum MultiPhaseUnits {
AMPERAGE = 'AMPERAGE',
VOLTAGE = 'VOLTAGE',
POWER_FACTOR = 'POWER_FACTOR',
LINE_VOLTAGE = 'LINE_VOLTAGE'
}
并创建一个枚举值数组,如下所示:
this.multiPhaseUnits = [MultiPhaseUnits.AMPERAGE, MultiPhaseUnits.LINE_VOLTAGE, MultiPhaseUnits.POWER_FACTOR, MultiPhaseUnits.VOLTAGE];
我的问题是,当我检查此数组中是否包含字符串时,VScode表示字符串类型的参数不能分配给MultiPhaseUnit类型的参数。例如:
if (this.multiPhaseUnits.indexOf(queryable.unit.apiUnit) > -1) {...}
它在queryable.unit.apiUnit
下放置了一个红色的波形,其中apiUnit
是一个字符串,格式为安培数、线电压…
。我已经验证了这段代码是否有效,并验证了数组multiPhaseUnits[]
最终本质上是一个字符串数组。为什么VScode会抱怨这张支票?即使我的代码可以工作,但如果我做错了什么,我如何修复它?您需要将字符串转换为多相单元的类型
if (this.multiPhaseUnits.indexOf(MultiPhaseUnits[queryable.unit.apiUnit]) > -1)
就这样!谢谢