将枚举转换为打字稿中的键值对对象

时间:2020-05-19 20:05:00

标签: typescript object enums casting

用例很简单,我有一个枚举要转换为打字稿中的简单键值对对象。

不仅仅是一个问题,这是我深入研究文档后如何解决的,希望对其他人有帮助。

假设您具有以下枚举定义:

enum myEnum {
  A = "A",
  B = "B",
  C = "C+C",
  D = "Value of D",
}

,您要将枚举转换为以下内容:

interface Obj {
  [key: string]: string;
}

1 个答案:

答案 0 :(得分:0)

我的操作方式如下:

let obj: Obj = {};

for (var key in myEnum) {
  obj[key] = myEnum[key as keyof typeof myEnum];
}

结果,最终将枚举强制转换为键值对对象,如下所示:

// key-value pair object from enum
{
  A: "A",
  B: "B",
  C: "C+C",
  D: "Value of D"
}

这适用于"typescript": "~3.7.5"