【问题标题】:Cast enum into key-value pair object in typescript将枚举转换为打字稿中的键值对对象
【发布时间】:2020-09-06 00:51:45
【问题描述】:

用例很简单,我有一个枚举,我想在 typescript 中转换成一个简单的键值对对象。

不仅仅是一个问题,这就是我在深入研究文档后如何解决它,我希望这有助于作为其他人的参考。

假设您有以下枚举定义:

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

并且您想将枚举转换为以下内容:

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

【问题讨论】:

    标签: typescript object enums casting


    【解决方案1】:

    我的做法是这样的:

    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"

    【讨论】:

      猜你喜欢
      • 2020-01-19
      • 2019-03-04
      • 2023-04-01
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 2017-06-29
      • 2018-11-09
      • 1970-01-01
      相关资源
      最近更新 更多