【发布时间】:2023-04-01 05:35:01
【问题描述】:
考虑这样的元组:
type MyTuple = [A, B];
其中A 和B 都有一个名为key 的属性。例如,
interface A = {
key: 'sandwiches'
}
interface B = {
key: 'pasta'
}
我想要以下界面:
interface Result {
sandwiches: A;
pasta: B;
}
有没有办法动态地做到这一点?
我在想,如果这是可以实现的,它可能看起来像:
type MapTuple<T> = {
[K in keyof T]: T[K]["key"]
}
但这不起作用。
【问题讨论】:
-
我认为打字稿只在编译时可用——你的意思是“有没有办法动态地做到这一点?”您只是想在编译时推断出 Result 接口,还是在寻找运行时解决方案?
-
编译时间 :) 下面的答案显示了解决方案。
标签: typescript typescript-typings