包含 Typescript 中所有 value 类型选项的数组

wra*_*wra 7 typescript

这是强制所有类型选项出现在对象键中的代码(并且不允许其他键):

type Fruit = 'apple' | 'peach';
const objectWithAllFruitsAsKeys: {
  [ key in Fruit ]: any
} = { apple: '', peach: '' }
Run Code Online (Sandbox Code Playgroud)

我正在寻找输入公式,允许与数组值的接近行为 - 获取所有 Fruit 类型的值作为值出现在其中的数组

const arrayWithAllFruitsAsvalues: ??? = ['apple', 'peach'];
Run Code Online (Sandbox Code Playgroud)

你们有什么想法吗?先感谢您!

Ist*_*asz 11

如果先定义数组,这里有一个获取Fruit类型的方法

const arrayWithAllFruitsAsvalues = ['apple', 'peach'] as const;

type Fruit = typeof arrayWithAllFruitsAsvalues[number];  // "apple" | "peach"

const objectWithAllFruitsAsKeys: {
  [ key in Fruit ]: any
} = { apple: '', peach: '' }
Run Code Online (Sandbox Code Playgroud)