【问题标题】:How can I extract a type from a union of (Type | Type[]) to get Type?如何从 (Type | Type[]) 的联合中提取类型以获取类型?
【发布时间】:2022-07-19 11:28:39
【问题描述】:

我正在尝试通过其内部的数组来获取导出联合类型的类型,如上面的操场所示。如果不使用 Type 本身(因为它是非导出的),最好的方法是什么?

interface CurrentType {
  a: string;
  b: number;
}

type ExportedType = CurrentType | CurrentType[]

type DesiredType = CurrentType

// How can I get to DesiredType from CurrentType?

https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgMIFcpQuAKgTwAcUBvAWAChlk4AuZAZzClAHMBuS6gI3pHQC23aJwoBfSpTBEUAUQAehAPZRIAEwLFkAXjSZseGcgA+erDjCaIAbQC6kitK0ARCA2DYNR3RnOHiDgD0gcgAEkoA7sgIcCDIAJLIrBBgyGBKyK7unlbIMFBKAmYGljIA-EA

【问题讨论】:

    标签: typescript


    【解决方案1】:

    从联合中排除any 类型的数组

    type DesiredType = Exclude<ExportedType, Array<any>>
    

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 2021-12-30
      • 2019-03-27
      • 2019-03-05
      相关资源
      最近更新 更多