Typescript 通用字符串数组,其中每个项都是数组值联合类型

Typescript 通用字符串数组,其中每个项都是数组值联合类型,typescript,generics,Typescript,Generics,将字符串数组的函数参数类型视为选项: function (values: ("option1" | "option2" | "option3")[]) { .... } 我想要的是一个泛型类型,函数可以在其中接收以下内容: function (values: ("option1" | "option2")[]) { .... } 这是: function (values: (&

将字符串数组的函数参数类型视为选项:

function (values: ("option1" | "option2" | "option3")[]) {
    ....
}
我想要的是一个泛型类型,函数可以在其中接收以下内容:

function (values: ("option1" | "option2")[]) {
    ....
}
这是:

function (values: ("option1" | "option2" | "option3" | "option4" | "option5")[]) {
    ....
}
如果泛型字符串数组包含的类型是其任何值的联合类型,则该数组的类型是什么?
以不同的方式询问类型,以便函数可以接收任何字符串数组,其每个项都是数组中任何项的联合类型?

这里有点难理解,但我相信您是在寻找
SomeArray[number]
。由于数组具有数字索引,因此按
number
索引数组将返回其所有值的并集

type MyArray = ['a', 'b', 'c']
type MyUnion = MyArray[number] // 'a' | 'b' | 'c'

我真的很想在这里看到一个真实的例子,展示一些实际的用途,包括一些基于代码的成功标准。比如,很明显您不想要
(值:string[])=>void
,但是这里没有任何东西显示您为什么不想要它,或者如果您尝试使用它会出现什么问题。如果您所要求的只是@AlexWayne所说的“如何获得数组类型元素的并集”,那么它似乎不是由示例代码驱动的。感谢您的回答,在我的情况下,根据您的建议,我使用
类型OptionUnionType=string[][number]
进行了并集。然后我制作了一个元素类型的数组,允许使用
类型OptionUnionTypeArray=OptionUnionType[]
分析数组元素。我想我有点想得太多了,但它是有效的。这样做的目的是只允许类型中的数组元素值,这是一种枚举行为。除非您经常操作数组元素,否则它没有多大意义,并且希望在使用这些类型时防止代码中出现奇怪的东西,因为如果没有,很明显,当您创建数组并填充它时,默认情况下,元素为数组元素类型。没有关系