将枚举映射到类型

2023-11-30

我正在尝试使用映射类型在枚举上:

export enum CurrencyType {
  USD = "USD",
  AUD = "AUD",
  GBP = "GBP",
  CAD = "CAD"
}

实现这种类型:

type Rates = {
  AUD: number;
  CAD: number;
  GBP: number;
  USD: number;
}

我想我可以做这样的事情:

type Rates = {
  [P in keyof CurrencyType]: number;
};

但这会导致以下结果:

type Rates = {
    toString: number;
    charAt: number;
    charCodeAt: number;
    concat: number;
    indexOf: number;
    lastIndexOf: number;
    localeCompare: number;
    match: number;
    replace: number;
    //...
}

我尝试使用union literals代替enum,

export type CurrencyType = "USD" | "AUD" | "GBP" | "CAD";` 

但它给出了相同的结果。

我唯一能开始工作的就是这样做:

type Rates = {
  [P in typeof CurrencyType.AUD | CurrencyType.USD | CurrencyType.GBP | CurrencyType.CAD]: number;
};

但显然这违背了整个目的!

有办法做到这一点吗?


哇,它就在我面前。一如既往,我把它变得过于复杂化,并且没有彻底阅读文档。

type Rate = {
  [P in CurrencyType]: number;
};

我会保留这个以防它对其他人有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将枚举映射到类型 的相关文章

随机推荐

  • CSS3不透明度渐变?

    我想要创造一种效果像这样 但是我的网站有一个动态background color 请注意 此示例使用白色叠加层 该叠加层不适用于不同的背景 p width 300px overflow hidden height 50px line hei
  • 在 Playwright for Python 中,如何从框架 (iframe) 中检索元素的句柄?

    我已经成功地在 python 中使用 Playwright 从页面中获取元素 我现在遇到了从嵌入到文档中的文档中获取元素的挑战iframe 举个例子 我用过w3schools 页面解释了
  • 每行具有不同列数的 JTable

    我怎样才能让 JTable 只用一列来布局一些行 例如 A1 Section Title Row With long Text A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 A5 Section Title Row
  • C 和汇编程序实际上编译成什么? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 所以我发现 C 程序实际上不会编译为普通的 二进制 我可能在这里犯了一些错误 在这种情况下我很抱歉 D 而是编译为一系列的东西 符号表 与操作系统相关的东西 但是 汇编程序是否
  • 更新项目时,Azure Redis 缓存中是否有任何锁定机制?

    我正在使用 Azure 搜索开发 Azure Redis 缓存 但找不到任何有关 Redis 缓存并发性的明确描述 情况如下 在覆盖现有缓存项时 是否可以同时读取该项 如果是的话 Redis 缓存如何管理这个 它会锁定该项目直到它可用 还是
  • Python - selenium webdriver - 无法切换到注册弹出窗口

    我是 python 2 7 和 selenium webdriver 的新手 我正在尝试注册http way2automation com way2auto jquery index php 到目前为止 我一直停留在切换到注册弹出窗口上 我
  • Javafx:更改 setOnAction 中的场景

    我正在构建一个具有多个场景的 JavaFX 应用程序 在 setOnAction 事件中更改场景时 我遇到变量范围问题 这是我的代码 Stage myStage public Scene logInScene all the buttons
  • 如何在 Picturebox 上获得滚动条

    I have PictureBox picture I use picture Size bmp Size picture Image bmp 假设有两个整数maxWidth and maxHeigth 我想添加垂直 水平滚动条pictur
  • 我们可以在 Scala 中进行条件导入吗?

    假设我有以下代码 package my class Foo class Bar extends Foo object Chooser val isFoo true 我导入Foo as import my Foo gt MyClass 我希望
  • UITableView 单元格的动态高度问题 (Swift)

    可变长度的文本数据被注入到表格视图单元格标签中 为了使每个单元格的高度大小合适 我已经实现了viewDidLoad self tableView estimatedRowHeight 88 0 self tableView rowHeigh
  • 通过两个属性就地对列表进行排序

    我有一个具有两个属性的类 名称和位置 我想按位置对此类的列表进行排序 并且具有相同位置的元素应按名称排序 我正在处理静态列表 所以我想就地工作 到目前为止 我设法按一个属性对列表进行排序 list Sort x y gt x Positio
  • 属性“fixed-rate”不允许出现在元素“int:poller”中

    我无法在 poller 标签下添加属性 fixed rate 给出 属性 fixed rate 不允许出现在元素 int poller 中 请参考下面的 xml 文件
  • 在实模式下跳转到远地址

    我遇到一种情况 我必须在实模式下跳转到远地址 我的段值在fs寄存器和偏移量gs寄存器 在跳转过程中我必须保持准确的寄存器内容 我想出了一个想法如下 mov bp fs shl ebp 16 mov bp gs jmp ebp 假设bp fs
  • 在 Google 地图中查找多个位置的中心

    我刚刚复制了这个代码question并应用了我的纬度和经度 然而 纬度和经度将是动态的 并且center地图的内容将根据地点的纬度和经度而变化 以下是另一个问题的代码
  • 如何将 Jersey REST API 转换为可执行 JAR?

    我正在使用 Jersey Maven 并且可以使用 Jetty Tomcat 或 J2EE Preview 可以嵌入吗 将 REST API 移植为独立 可执行 JAR 的最简单方法是什么 没有 Spring Boot 可以吗 按照以下步骤
  • 安装和卸载硬盘

    如何在 Java 编程语言中挂载和卸载硬盘驱动器 与平台无关 因此不使用运行时执行硬编码命令 答案是 是和否 您无法在 java 中挂载或卸载设备 因为每个操作系统都有自己的方法来执行此操作 但是 您可以提供使用适配器模式作为本机接口的ja
  • 为什么around_filter或after_filter中的redirect_to不起作用?

    如何使redirect to在这些过滤器中起作用 我正在努力改变 def start redirect to index end def end redirect to index end to around filter around d
  • 增强的 for 循环不适用于循环体内的 Scanner

    为什么认为行不通 它只打印零 然而 当我使用带有索引值 i 的普通 for 循环并在循环体内使用 a i 时 它会起作用 问题不在于打印循环 因为它不打印值 即使使用正常的 for 循环也是如此 import java util Scann
  • ASM 库计算出错误的堆栈大小

    我使用 ASM 库生成字节码 方法的 最大堆栈大小 将自动计算 在运行时 我发现这个值 最大堆栈大小 不正确 我的源代码是 ClassWriter cw new ClassWriter ClassWriter COMPUTE MAXS Me
  • 将枚举映射到类型

    我正在尝试使用映射类型在枚举上 export enum CurrencyType USD USD AUD AUD GBP GBP CAD CAD 实现这种类型 type Rates AUD number CAD number GBP num