Skip to main content

Concat

题目

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

举例,

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

题目来源:https://tsch.js.org/533/zh-CN

解答

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

先用extends any[]限制泛型TU是数组类型。
接着,就可以使用扩展运算符进行扩展数组。