рдореИрдВ рдПрд░рдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдРрд░реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
рдЙрджрд╛рд╣рд░рдг :
рдПрдирдо рдП {
рдХреБрддреНрддрд╛ = 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>))
}
рдареАрдХ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ Webstorm рдореЗрдВ {[keyof E]: E}
рдХреЛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ ...
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@narutomxc
рдпрд╣ рдПрдХ рдЗрд╢реНрдпреВ рдЯреНрд░реИрдХрд░ рд╣реИ, рди рдХрд┐ рдПрдХ рдорд╛рдирдХ рд╕рд╣рд╛рдпрддрд╛ рдлреЛрд░рдоред рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА, рдпрд╣рд╛рдБ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ: