181. 参数聚合
极难
给定数组作为参数,计算一个新的元组,满足原始两个元组所需的参数类型。
你的解决方案应正确处理固定长度和非固定长度数组、可选元素和可变参数元素。
例如:
type Result = IntersectParameters<
[{ a: 0 }, { b: 1 }?, { c: 2 }?, ...{ d: 3 }[]],
[{ e: 4 }?, { f: 5 }?, ...{ g: 6 }[]]
>
type Expected = [
{
a: 0
e: 4
},
{
b: 1
f: 5
}?,
{
c: 2
g: 6
}?,
...{
d: 3
g: 6
}[]
]