typescript - 来自键值对象的打字稿类型函数
问题描述
我有一个像
const lookup = {
key1: object1,
key2: object2,
key3: object3
}
而且我需要创建接受 key(key1/key2...) 作为第一个参数和 typeof object1 作为第二个参数的函数。
如果我使用 foo(key1, {}) 我必须只指定所选对象(object1)的参数
解决方案
上面的评论者提出了一个使用泛型的解决方案
function foo<K extends keyof typeof lookup>(key: K, obj: (typeof lookup)[K]) {}
推荐阅读
- python - 如何从 python 中的线性分段颜色图创建颜色条?
- c# - C# 存根 HttpApplicationCompleteRequest() 导致 NullReferenceException
- perl - 如何将第一列从文件A复制到文件b?
- python - 如何在 Aritfactory 存储库中快速返回所有工件及其属性?
- sql - 如何在 SQL 中从 Table1 链接到 Table2,其中从 Table2 返回的值基于 Table1 中的索引值?
- python - Pandas 检查列值是否等于另一列的名称,然后设置 0 或 1
- apache-kafka - 通过使用两个不同的 Spark 结构化流读取相同的主题来调试 Kafka 管道
- google-sheets - 检查下拉列表中的选择,如果它等于赢/输,则添加到统计页面
- javascript - 无法读取 face-api.js 中未定义的属性“长度”反应
- ios - 核心蓝牙发现未发现某些设备