Typescript類型體操 - Reverse

題目

中文

實現類型版本的數組反轉 Array.reverse

例如:

type a = Reverse<['a', 'b']>; // ['b', 'a']
type b = Reverse<['a', 'b', 'c']>; // ['c', 'b', 'a']

English

Implement the type version of Array.reverse

For example:

type a = Reverse<['a', 'b']>; // ['b', 'a']
type b = Reverse<['a', 'b', 'c']>; // ['c', 'b', 'a']

答案

type Reverse<T extends any[]> = T extends [infer L, ...infer R]
    ? [...Reverse<R>, L]
    : T;

在線演示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章