列挙型を配列に変換したい
例:
列挙型A {
犬= 1、
猫= 2、
ant = 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>))
}
OK、thx
Webstormで{[keyof E]: E}
を認識できないことがわかりました。 だからそれを任意のものと交換してください...
最も参考になるコメント
@narutomxc
これは課題追跡システムであり、標準のヘルプフォーラムではありません。 しかしとにかく、これがあなたがそれをする方法です: