跳到主要内容

Chunk

介绍

实现lodash的Chunk方法. Chunk<T, N>续保两个类型参数, T必须是一个元组, N必须是一个大于等于1的整数.

ts
type exp1 = Chunk<[1, 2, 3], 2> // expected to be [[1, 2], [3]]
type exp2 = Chunk<[1, 2, 3], 4> // expected to be [[1, 2, 3]]
type exp3 = Chunk<[1, 2, 3], 1> // expected to be [[1], [2], [3]]
ts
type exp1 = Chunk<[1, 2, 3], 2> // expected to be [[1, 2], [3]]
type exp2 = Chunk<[1, 2, 3], 4> // expected to be [[1, 2, 3]]
type exp3 = Chunk<[1, 2, 3], 1> // expected to be [[1], [2], [3]]
View on GitHub

起点

ts
/* _____________ Your Code Here _____________ */
 
type Chunk<T> = any
 
/* _____________ Test Cases _____________ */
 
type cases = [
Expect<Equal<Chunk<[], 1>, []>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3], 1>, [[1], [2], [3]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3], 2>, [[1, 2], [3]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3, 4], 2>, [[1, 2], [3, 4]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3, 4], 5>, [[1, 2, 3, 4]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, true, 2, false], 2>, [[1, true], [2, false]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
]
ts
/* _____________ Your Code Here _____________ */
 
type Chunk<T> = any
 
/* _____________ Test Cases _____________ */
 
type cases = [
Expect<Equal<Chunk<[], 1>, []>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3], 1>, [[1], [2], [3]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3], 2>, [[1, 2], [3]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3, 4], 2>, [[1, 2], [3, 4]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, 2, 3, 4], 5>, [[1, 2, 3, 4]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
Expect<Equal<Chunk<[1, true, 2, false], 2>, [[1, true], [2, false]]>>,
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
2344
2314
Type 'false' does not satisfy the constraint 'true'.
Generic type 'Chunk' requires 1 type argument(s).
]
take the challenge

解决方案

Spoiler warning // Click to reveal answer
ts
// most popular
 
 
type Chunk<T> = any
 
ts
// most popular
 
 
type Chunk<T> = any
 
view more solutions