枚举反向查找
枚举反向查找
这个问题已经有了答案:
假设我有一个枚举:
enum Color {Red = 1, Green, Blue};
如果我有一个数字,我可以通过这样做来获取枚举键:
var colorName: string = Color[2]; // colorName = "Green"
但是,那会给我一个字符串。我怎样才能使它变成一个Color类型的变量?即:
colorName : Color == Color.Green
admin 更改状态以发布 2023年5月23日
不要通过数字索引(这会得到一个字符串),直接使用已命名的成员。Typescript会愉快地让你把数字赋值给枚举变量,例如:
enum Color {Red = 1, Green, Blue}; var foo:Color = Color.Green; // effectively foo = 2; console.log(foo == Color.Green); // true
或者,如果你已经有了字符串,你可以通过字符串对颜色进行索引,获取其数字值,例如:
enum Color {Red = 1, Green, Blue}; var colorName:string = Color[2]; var color: Color = Color[colorName]; console.log(color == Color.Green); // true