valor seleccionar obtener eventos javascript arrays typescript enums element

seleccionar - radio button javascript obtener valor



Mecanografiado: ¿cómo recorrer los valores de enumeración para mostrarlos en los botones de opción? (1)

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la forma correcta de recorrer los literales de una enumeración en Typecript? (Actualmente usando el mecanografiado 1.8.1)

Tengo la siguiente enumeración:

export enum MotifIntervention { Intrusion, Identification, AbsenceTest, Autre } export class InterventionDetails implements OnInit { constructor( private interService: InterventionService ) { let i:number = 0; for (let motif in MotifIntervention) { console.log( motif ); } }

El resultado que se muestra es una lista

0 1 2 3 Intrusion, Identification, AbsenceTest, Autre

Solo quiero 4 iteraciones en el bucle ya que solo hay 4 elementos en la enumeración, no quiero tener 0 1 2 y 3 que parecen ser números de índice de la enumeración.


Dos opciones:

for (let item in MotifIntervention) { if (isNaN(Number(item))) { console.log(item); } }

O

Object.keys(MotifIntervention).filter(key => !isNaN(Number(MotifIntervention[key])));

( código en el patio de recreo )

Editar

Las enumeraciones de cadena se ven diferentes a las normales, por ejemplo:

enum MyEnum { A = "a", B = "b", C = "c" }

Compila en:

var MyEnum; (function (MyEnum) { MyEnum["A"] = "a"; MyEnum["B"] = "b"; MyEnum["C"] = "c"; })(MyEnum || (MyEnum = {}));

Lo que simplemente te da este objeto:

{ A: "a", B: "b", C: "c" }

Puede obtener todas las claves ( ["A", "B", "C"] ) así:

Object.keys(MyEnum);

Y los valores ( ["a", "b", "c"] ):

Object.keys(MyEnum).map(key => MyEnum[key])

O usando Object.values() :

Object.values(MyEnum)