TypeScript enum to object array

前端 未结 15 2840
不思量自难忘°
不思量自难忘° 2020-12-08 03:38

I have an enum defined this way:

export enum GoalProgressMeasurements {
    Percentage = 1,
    Numeric_Target = 2,
    Completed_Tasks = 3,
    Average_Mile         


        
15条回答
  •  -上瘾入骨i
    2020-12-08 04:11

    I use

    Object.entries(GoalProgressMeasurement).filter(e => !isNaN(e[0]as any)).map(e => ({ name: e[1], id: e[0] }));
    

    A simple 1 line that does the job.

    It does the job in 3 simple steps
    - Loads the combination of keys & values using Object.entries.
    - Filters out the non numbers (since typescript generates the values for reverse lookup).
    - Then we map it to the array object we like.

提交回复
热议问题