Eu quero converter o tipo enum para Array
exemplo:
enum A {
cachorro = 1,
cat = 2,
formiga = 3
}
converter para: [{id: 1, nome: 'cachorro'}, {id: 2, nome: 'gato'}, {id: 3, nome: 'formiga'}]
obrigado.
@narutomxc
Este é um rastreador de problemas, não um fórum de ajuda padrão. Mas de qualquer forma, você faria isso da seguinte maneira:
// 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 obrigado
Descobri que {[keyof E]: E}
não pode ser reconhecido no Webstorm. então substitua por qualquer ...
Comentários muito úteis
@narutomxc
Este é um rastreador de problemas, não um fórum de ajuda padrão. Mas de qualquer forma, você faria isso da seguinte maneira: