我想将枚举类型转换为数组
例如:
枚举A {
狗= 1,
猫= 2
蚂蚁= 3
}
转换为:[{{id:1,name:'dog'},{id:2,name:'cat'},{id:3,name:'ant'}]
谢谢。
@narutomxc
这是一个问题跟踪程序,而不是标准的帮助论坛。 但是无论如何,这是您的操作方式:
// This requires TypeScript 2.1.
// If you need older versions, use `string` instead of `keyof E`.
interface EnumItem<E> { id: E; name: keyof E; }
function enumToArray<E>(Enum: {[keyof E]: E}): EnumItem<E>[] {
return Object.keys(Enum).map(key => ({id: Enum[key], name: key} as EnumItem<E>))
}
好,谢谢
我发现{[keyof E]: E}
在Webstorm中无法识别。 所以换成任何...
最有用的评论
@narutomxc
这是一个问题跟踪程序,而不是标准的帮助论坛。 但是无论如何,这是您的操作方式: