Typescript类型体操 - GreaterThan

题目

中文

在本挑战中, 你需要实现 GreaterThan<T, U>, 它的作用像 T > U

你不需要考虑负数

示例:

GreaterThan < 2,
    1 > //should be true
        GreaterThan <
        1,
    1 > //should be false
        GreaterThan <
        10,
    100 > //should be false
        GreaterThan<111, 11>; //should be true

English

In This Challenge, You should implement a type GreaterThan<T, U> like T > U

Negative numbers do not need to be considered.

For example

GreaterThan < 2,
    1 > //should be true
        GreaterThan <
        1,
    1 > //should be false
        GreaterThan <
        10,
    100 > //should be false
        GreaterThan<111, 11>; //should be true

Good Luck!

答案

type GreaterThan<
    T extends number,
    U extends number,
    A extends any[] = []
> = A['length'] extends T
    ? false
    : A['length'] extends U
    ? true
    : GreaterThan<T, U, [...A, 0]>;

在线演示

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