以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - TypeScript 类型谜题
50. implement Sort<T>
实现 Sort
以下是实现的代码:
type LargerThan<A extends number, B extends number> = A extends B ? false : (A extends B ? false : true)
type SmallerThan<A extends number, B extends number> = A extends B ? false : (A extends B ? true : false)
type Sort<T extends any[], R extends any[] = []> = T extends [infer A, infer B, ...infer Rest] ? LargerThan<A, B> extends true ? Sort([B, A, ...Rest], R) : Sort([A, ...Sort<[B, ...Rest]>, ...R]) : [...T, ...R]
type A = Sort<[100, 9, 20, 0, 0, 55]> // [0, 0, 9, 20, 55, 100]