How can I loop through enum values for display in radio buttons? [duplicate]
Two options:
for (let item in MotifIntervention) { if (isNaN(Number(item))) { console.log(item); }}
Or
Object.keys(MotifIntervention).filter(key => !isNaN(Number(MotifIntervention[key])));
Edit
String enums look different than regular ones, for example:
enum MyEnum { A = "a", B = "b", C = "c"}
Compiles into:
var MyEnum;(function (MyEnum) { MyEnum["A"] = "a"; MyEnum["B"] = "b"; MyEnum["C"] = "c";})(MyEnum || (MyEnum = {}));
Which just gives you this object:
{ A: "a", B: "b", C: "c"}
You can get all the keys (["A", "B", "C"]
) like this:
Object.keys(MyEnum);
And the values (["a", "b", "c"]
):
Object.keys(MyEnum).map(key => MyEnum[key])
Or using Object.values():
Object.values(MyEnum)