如何将元组通用类型映射为联合类型?
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 |字符串
答案 0 :(得分:0)
您可以通过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