「已注销」 2021-12-22 11:40 采纳率: 0%
浏览 148

ts 从对象数组中生成类型


const X = [
{
    name: 'main',
},
{
    name: 'deleteDevice',
}]


type Y = 'main' | 'deleteDevice'

请问如何用 X 生成一个 Y 的类型

  • 写回答

1条回答 默认 最新

  • 「已注销」 2021-12-22 14:19
    关注

    可以使用as const

    const X = [
      {
        name: 'main',
      },
      {
        name: 'deleteDevice',
      }] as const;
    
    const X2 = X.map(item => item.name);
    
    type Y = typeof X2[number];
    

    参考:https://github.com/Microsoft/TypeScript/pull/29510

    评论

报告相同问题?

问题事件

  • 创建了问题 12月22日