从联合类型typescript生成字符串数组

从联合类型typescript生成字符串数组,typescript,typescript-typings,Typescript,Typescript Typings,嗨,伙计们,我正在寻找一种从联合类型脚本类型获取数组的方法 这是一种现有类型: export type GridClassKey = | 'root' | 'container' | 'item' | 'zeroMinWidth' | 'direction-xs-column' | 'direction-xs-column-reverse' | 'direction-xs-row-reverse' | 'wrap-xs-nowrap' | 'wrap-xs-

嗨,伙计们,我正在寻找一种从联合类型脚本类型获取数组的方法

这是一种现有类型:

 export type GridClassKey =
  | 'root'
  | 'container'
  | 'item'
  | 'zeroMinWidth'
  | 'direction-xs-column'
  | 'direction-xs-column-reverse'
  | 'direction-xs-row-reverse'
  | 'wrap-xs-nowrap'
  | 'wrap-xs-wrap-reverse'
  | 'align-items-xs-center'
  | 'align-items-xs-flex-start'
  | 'align-items-xs-flex-end'
  | 'align-items-xs-baseline'
  | 'align-content-xs-center'
  | 'align-content-xs-flex-start'
  | 'align-content-xs-flex-end'
  | 'align-content-xs-space-between'
  | 'align-content-xs-space-around'
  | 'justify-xs-center'
  | 'justify-xs-flex-end'
  | 'justify-xs-space-between'
  | 'justify-xs-space-around'
  | 'justify-xs-space-evenly'
  | 'spacing-xs-1'
  | 'spacing-xs-2'
  | 'spacing-xs-3'
  | 'spacing-xs-4'
  | 'spacing-xs-5'
  | 'spacing-xs-6'
  | 'spacing-xs-7'
  | 'spacing-xs-8'
  | 'spacing-xs-9'
  | 'spacing-xs-10'
  | 'grid-xs-auto'
  | 'grid-xs-true'
  | 'grid-xs-1'
  | 'grid-xs-2'
  | 'grid-xs-3'
  | 'grid-xs-4'
  | 'grid-xs-5'
  | 'grid-xs-6'
  | 'grid-xs-7'
  | 'grid-xs-8'
  | 'grid-xs-9'
  | 'grid-xs-10'
  | 'grid-xs-11'
  | 'grid-xs-12'
我希望通过编程方式从中获得一个真正的字符串数组,比如:

['root','container', ...]
是否可能,因为GridClassKey是一种类型而不是一个值


谢谢

我们无法从该类型创建数组,因为如果运行时不存在类型(@Ingo Bürk的评论),我们无法在运行时组装数组。但我们可以做相反的事情。如果我们有一个常量数组,我们可以得到它的联合类型。比如说-

const gridClassKeys=['root','container']作为const
//“根”|“容器”
type GridClassKey=gridClassKeys的类型[编号]


请注意,我们在声明数组时必须使用(数组将是readlonly tuple,因此是固定键)

不,不是,因为如果运行时不存在类型,则无法在运行时组装数组。是的,不幸的是,我只有这些类型作为数据源:/太糟糕了。。。谢谢你的回答@Topsy如果类型在文件中,您可以执行文件操作来检索数组。它是来自material ui节点模块的typescript文件^^^,所以我不想这样做。但没关系,我是手工做的^^thanks@Topsy是的,那不是个好主意