实现一个TupleM2N类型,入参两个个number M,N,返回从[M, N + M)的的元组 - 掘金 (juejin.cn)
上一期的答案
type TupleO2N<T extends number, U extends number[] = []> = U['length'] extends T
? U
: TupleO2N<T, [...U, U['length']]>;
type TupleM2N<
M extends number,
N extends number,
L extends any[] = [...TupleO2N<M>, ...TupleO2N<N>]
> = TupleO2N<L['length']> extends [...TupleO2N<N>, ...infer R] ? R : never;
解析
这里需要借助前面已经实现的TupleO2N
今日题目:实现一个Subtract类型,可以在类型上做正整数算术减法运算,结果为非负数
预期
type A = Subtract<3,3> // 0
type B = Subtract<10,7> // 3