TypeScript enum to object array

前端 未结 15 2889
不思量自难忘°
不思量自难忘° 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条回答
  •  遥遥无期
    2020-12-08 04:18

    I'm surprised in a TypeScript thread no one gave valid TypeScript function with typing supported. Here's variation of @user8363 solution:

    const isStringNumber = (value: string) => isNaN(Number(value)) === false;
    
    function enumToArray(givenEnum: T) {
      return (Object.keys(givenEnum).filter(isStringNumber) as (keyof T)[]).map(
        (key) => givenEnum[key]
      );
    }
    

提交回复
热议问题