gpt4 book ai didi

typescript - 如何在 typescript 中按值获取枚举键?

转载 作者:行者123 更新时间:2023-12-03 15:53:10 33 4
gpt4 key购买 nike

我有一个这样的枚举:

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'.

最佳答案

是的,您有正确的错误。在这种情况下,如果要通过enum key获取value,则必须为.ts重新编写枚举:

export enum Colors {
RED = <any>"RED COLOR",
BLUE = <any>"BLUE COLOR",
GREEN = <any>"GREEN COLOR"
}
然后您可以像这样:
let enumKey = Colors["BLUE COLOR"];
console.log(enumKey);
enter image description here
另一种方法是循环遍历,这将花费很少,代码也很嘈杂,我不希望这样做。
Update: 对于.tsx,应该像这样。
 export enum Colors {
RED = "RED COLOR" as any,
BLUE = "BLUE COLOR" as any,
GREEN = "GREEN COLOR" as any
}
它也应该像上面的方式一样工作。

关于typescript - 如何在 typescript 中按值获取枚举键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62215454/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com