Typescript 合并元组

luk*_*uky 2 typescript typescript-generics

如何将元组合并在一起?我需要在另一个元组的末尾添加一个元组,如下所示。

type MergeTuple<A extends any[], B extends any[]> = [...A, ...B];
Run Code Online (Sandbox Code Playgroud)

唯一有效的是:

type MergeTuple<A extends any[], B extends any[]> = [A[0], B[0]];
Run Code Online (Sandbox Code Playgroud)

但这适用于项目的静态计数

MergeTuple<['a'], ['b']> // is ['a', 'b']
Run Code Online (Sandbox Code Playgroud)

不为此工作

MergeTuple<['a', 'b'], ['c']> // is ['a', 'c'] expected ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

phr*_*hry 5

目前,在 TS 中连接元组只能通过非常丑陋的解决方法来实现。

这是一个图书馆的做法

你不想自己这么做。问问自己是否真的需要它,如果答案是肯定的,那就帮自己一个忙,使用像typescript-tuple.