如何将元组泛型类型映射到联合类型?
type NeededUnionType<T> = T[keyof T]; // Includes all the Array properties values
const value: NeededUnionType<[7, string]> = 2; // This should not be allowed (2 is the tuple length)
预期类型:7 | string
最佳答案
您可以通过 number
索引而不是 keyof T
. keyof T
将包含元组对象的所有键,其中包括长度以及任何其他数组属性。
type NeededUnionType<T extends any[]> = T[number]; // Includes all the Array properties values
const value: NeededUnionType<[7, string]> = 2; // err value is 7 | string
Playground Link
关于typescript - 如何将元组类型转换为联合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59239632/