Fill
介绍
Fill<T, N, Start?, End?>
接受4个类型参数, T和N是必需, Start和End是可选.
T必须是一个元组, N可以是任意值类型, Start和End必须是大于或等于0的正数.
ts
type exp = Fill<[1, 2, 3], 0> // expected to be [0, 0, 0]
View on GitHubts
type exp = Fill<[1, 2, 3], 0> // expected to be [0, 0, 0]
起点
ts
/* _____________ Your Code Here _____________ */typeFill <T extends unknown[],N ,Start extends number = 0,End extends number =T ['length'],> = any/* _____________ Test Cases _____________ */typecases = [Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[], 0>, []>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[], 0, 0, 3>, []>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], 0, 0, 0>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], 0, 2, 2>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], 0>, [0, 0, 0]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true>, [true, true, true]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 0, 1>, [true, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 1, 3>, [1, true, true]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 10, 0>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 10, 20>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 0, 10>, [true, true, true]>>,]
take the challengets
/* _____________ Your Code Here _____________ */typeFill <T extends unknown[],N ,Start extends number = 0,End extends number =T ['length'],> = any/* _____________ Test Cases _____________ */typecases = [Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[], 0>, []>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[], 0, 0, 3>, []>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], 0, 0, 0>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], 0, 2, 2>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], 0>, [0, 0, 0]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true>, [true, true, true]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 0, 1>, [true, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 1, 3>, [1, true, true]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 10, 0>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 10, 20>, [1, 2, 3]>>,Type 'false' does not satisfy the constraint 'true'.2344Type 'false' does not satisfy the constraint 'true'.Expect <Equal <Fill <[1, 2, 3], true, 0, 10>, [true, true, true]>>,]
解决方案
Spoiler warning // Click to reveal answer
ts
typeFill <T extends unknown[],N ,Start extends number = 0,End extends number =T ['length'],> = any
ts
typeFill <T extends unknown[],N ,Start extends number = 0,End extends number =T ['length'],> = any