首页 > 解决方案 > 通用字符串数组,其中每个项目都是数组值联合类型

问题描述

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

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

我追求的是函数可以接收到这个的泛型类型:

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

还有这个:

function (values: ("option1" | "option2" | "option3" | "option4" | "option5")[]) {
    ....
}

一个泛型字符串数组的类型是什么,该数组的类型是其任何值的联合类型?以不同的方式询问,函数可以接收任何字符串数组的类型,其每个项都是数组中任何项的联合类型?

标签: typescriptgenerics

解决方案


在这里跟随你有点困难,但我相信你在追求SomeArray[number]。由于数组具有数字索引,因此对数组进行索引会number返回其所有值的并集。

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

推荐阅读