Skip to content

Concat

191字小于1分钟

2022-12-01

题目

Github: Concat

在类型系统里实现 JavaScript 内置的 Array.concat 方法,这个类型接受两个参数, 返回的新数组类型应该按照输入参数从左到右的顺序合并为一个新的数组。

type Result = Concat<[1], [2]> // expected to be [1, 2]

解题思路

泛型参数 T U 约束为可变元组类型,通过 数组展开,合并到新的数组中。

答案

type Concat<T extends unknown[], U extends unknown[]> = [...T, ...U]

验证

type 
Result
=
Concat
<[1], [2]>
type
test
=
Expect
<
Equal
<
Result
, [1, 2]>>

参考