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í:
- ¿Cómo obtener nombres de entradas de enumeración? 21 respuestas
¿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)