我有一个如下的枚举:
export enum Colors {
RED = "RED COLOR",
BLUE = "BLUE COLOR",
GREEN = "GREEN COLOR"
}
你能让我知道如何通过值得到枚举键吗?也就是说,我需要传递“蓝色”并得到“蓝色”。Colors["BLUE COLOR"]
给出错误Element implicitly has an 'any' type because expression of type '"BLUE COLOR"' can't be used to index type 'typeof Colors'. Property 'BLUE COLOR' does not exist on type 'typeof Colors'.
9条答案
按热度按时间uoifb46i1#
如果你想通过
value
得到你的enum key
,你必须用下面的方式重写你的枚举:但同样的格式也可能在旧版本中工作。一米二米一x
一米三米一x
一米四米一x
那么你可以这样得到:
一米五米一x
一米六米一x
一米七米一x
一米八米一x
一米九米一x
Coding sample on
jsfiddle
注:
25th August
上发布了新公告,请注意。Have alook here
8iwquhpp2#
https://jsfiddle.net/anniebbird/agy3unfk/3/
h43kikqp3#
我正在使用此函数
玩笑测试
希望能帮到什么人
webghufk4#
改进了 getEnumKeyByEnumValue,但未使用任何:
bweufnob5#
像这样尝试
fv2wmkja6#
直接转换字符串,它会给予你想要的键。
yhuiod9q7#
您可以执行类似下面的操作来获取枚举键:
tsm1rwdh8#
通过添加类型检查改进了getEnumKeyByEnumValue:
https://jsfiddle.net/2ry1u8qb/
6za6bjd09#
我想稍微修改一下代码: