Typescript 有没有办法从接口属性中提取数组类型的泛型类型?

Typescript 有没有办法从接口属性中提取数组类型的泛型类型?,typescript,Typescript,假设我有这样的东西。 我想从A中的objects属性中提取number | string部分,并在B中重用它 接口A{ 对象:数组 } 接口B{ //我想从“A”接口的对象中提取这个部分 对象:数字|字符串 } 我能想到这样的事情 类型ObjectType=number |字符串 接口A{ 对象:数组 } 接口B{ 对象:对象类型 } 但我真正想要的是这样的东西 接口A{ 对象:数组 } 接口B{ //我在编这个,但是打字稿里有类似的东西吗?? 对象:ExtractType } 您可以

假设我有这样的东西。
我想从
A
中的objects属性中提取
number | string
部分,并在
B
中重用它


接口A{
对象:数组
}
接口B{
//我想从“A”接口的对象中提取这个部分
对象:数字|字符串
}
我能想到这样的事情


类型ObjectType=number |字符串
接口A{
对象:数组
}
接口B{
对象:对象类型
}
但我真正想要的是这样的东西


接口A{
对象:数组
}
接口B{
//我在编这个,但是打字稿里有类似的东西吗??
对象:ExtractType
}

您可以通过以下帮助推断数组的项目类型:

类型ArrayItemType
type ArrayItemType<T extends Array<any>> = T extends Array<infer I> ? I : any

interface A {
  objects: Array<number | string>
}

interface B{
  // (property) B.object: string | number
  object: ArrayItemType<A["objects"]>
}