Typescript: Enum рдЯрд╛рдЗрдк рдХреЛ Array рдореЗрдВ рдХреИрд╕реЗ рдмрджрд▓реЗрдВ<object/>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рджрд┐рд╕ре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдореИрдВ рдПрд░рдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдРрд░реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЙрджрд╛рд╣рд░рдг :

рдПрдирдо рдП {
рдХреБрддреНрддрд╛ = 1,
рдмрд┐рд▓реНрд▓реА = 2,
рдЪреАрдВрдЯреА = рей
}

рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ: [{рдЖрдИрдбреА: 1, рдирд╛рдо: 'рдХреБрддреНрддрд╛'}, {рдЖрдИрдбреА: 2, рдирд╛рдо: 'рдмрд┐рд▓реНрд▓реА'}, {рдЖрдИрдбреА: 3, рдирд╛рдо: 'рдЪреАрдВрдЯреА'}]

рдзрдиреНрдпрд╡рд╛рджред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@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>))
}

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@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>))
}

рдареАрдХ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ Webstorm рдореЗрдВ {[keyof E]: E} рдХреЛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ ...

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kyasbal-1994 picture kyasbal-1994  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bgrieder picture bgrieder  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zhuravlikjb picture zhuravlikjb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fwanicka picture fwanicka  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

manekinekko picture manekinekko  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ