问题
type case1 = Reverse<['a', 'b']> // ['b', 'a']
type case2 = Reverse<['a', 'b', 'c']> // ['c', 'b', 'a']
解答
type Reverse<T> = T extends [...infer Rest, infer L] ? [L, ...Reverse<Rest>] : T
拆分
- 利用
infer
拆分数组
2022-04-13 09
type case1 = Reverse<['a', 'b']> // ['b', 'a']
type case2 = Reverse<['a', 'b', 'c']> // ['c', 'b', 'a']
type Reverse<T> = T extends [...infer Rest, infer L] ? [L, ...Reverse<Rest>] : T
infer
拆分数组