【发布时间】:2021-07-02 09:28:24
【问题描述】:
假设我想编写一个简单的通用连接函数。
const join = <X, Y, T extends keyof (X & Y)>(key: T, a1: Array<X>, a2: Array<Y>) =>
a1.map(e1 => [ e1, a2.find(e2 => e2[key] === e1[key]) ])
T 应该是一个字符串,它指定函数应该加入哪个属性。
很遗憾我收到一个错误:T cannot be used to index type Y
这很奇怪,因为 X & Y 是交集类型,因此由 extends keyof 表达式生成的所有键都应该应用于 X 和 Y。
【问题讨论】:
标签: typescript