我正试图想出一个映射的type
来将对象的属性从类型Vector
转换为Array
。
我现在有这个
type ToArray<T> = {
[P in keyof T]: T[P] extends Vector<any> ? Array<any> : T[P]
}
如何正确映射any
类型?我想保留原始的泛型类型。
您可以使用条件类型的推理行为来获得Vector
:的原始参数
type ToArray<T> = {
[P in keyof T]: T[P] extends Vector<infer U> ? Array<U> : T[P]
}
有关infer U
的更多详细信息,请参阅此处的"条件类型中的类型推理"一章。