假设我有一个枚举:
enum Color {Red = 1, Green, Blue};
如果我有一个号码,我可以通过这样做获得枚举键:
var colorName: string = Color[2]; // colorName = "Green"
然而,这给了我一个字符串。我怎样才能使它得到Color类型的变量?即:
colorName : Color == Color.Green
答案 0 :(得分:5)
不要用数字对它进行索引(这会给你一个字符串),只需使用命名成员。你可以高兴地让一个数字给一个枚举,即
enum Color {Red = 1, Green, Blue};
var foo:Color = Color.Green; // effectively foo = 2;
console.log(foo == Color.Green); // true
或者如果你已经有了字符串,你可以用字符串索引Color来得到它的数字,即:
enum Color {Red = 1, Green, Blue};
var colorName:string = Color[2];
var color: Color = Color[colorName];
console.log(color == Color.Green); // true