Quiero convertir el tipo de enumeración a Array
ejemplo:
enum A {
perro = 1,
gato = 2,
hormiga = 3
}
convertir a: [{id: 1, nombre: 'perro'}, {id: 2, nombre: 'gato'}, {id: 3, nombre: 'hormiga'}]
gracias.
@narutomxc
Este es un rastreador de problemas, no un foro de ayuda estándar. Pero de todos modos, así es como lo harías:
// 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 gracias
Encontré que {[keyof E]: E}
no se pueden reconocer en Webstorm. así que reemplázalo con cualquier ...
Comentario más útil
@narutomxc
Este es un rastreador de problemas, no un foro de ayuda estándar. Pero de todos modos, así es como lo harías: