Open yunliuyan opened 11 months ago
T[number] 索引访问语法,用于访问元组的联合类型
type MyTupleToUnion<T extends readonly any[]> = T[number]
type TupleToUnion<T extends any[]> = T[number]
type Arr = ['1', '2', '3']
type Test = TupleToUnion<Arr> // expected to be '1' | '2' | '3'
// 实现泛型TupleToUnion<T>,它返回元组所有值的合集。
type TupleToUnion<T extends readonly any[]> = keyof {
[key in T[number]]: key
}
// type MyTupleToUnion<T extends readonly any[]> = T[number]
type Arr = ['1', '2', '3']
type Test = TupleToUnion<Arr> // expected to be '1' | '2' | '3'
type MyTupleToUnion<T extends readonly any[]> = T[number]
type TupleToUnionArr = ['a', '2', 3, true]
type MyTupleToUnionTest = MyTupleToUnion<TupleToUnionArr> // expected to be true | "a" | "2" | 3
type MyTupleToUnionTest2 = MyTupleToUnion<['a', '2', 3, true]> // expected to be true | "a" | "2" | 3
元组转合集
实现泛型
TupleToUnion<T>
,它返回元组所有值的合集。例如
测试案例:
相关挑战