You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从TypeScript数组类型中选取指定对象类型?

提取联合类型中的指定成员类型

当然可行,你可以通过TypeScript的工具类型和索引访问类型实现这个需求:

实现方式

利用Extract工具类型结合数组元素类型访问,直接从Users的元素联合类型中筛选出目标类型:

type userSocialMediaInfo = Extract<Users[number], { typename: "socialMedia" }>;

原理说明

  • Users[number]:通过索引访问类型获取数组Users的元素类型,也就是包含personal和socialMedia的联合类型。
  • Extract<T, U>:TypeScript内置工具类型,作用是从联合类型T中提取出可赋值给U的成员,这里就是筛选出typename为"socialMedia"的对象类型。

验证结果

最终userSocialMediaInfo等价于你需要的类型:

{
  typename: "socialMedia";
  userName: string;
  email: string;
}

内容的提问来源于stack exchange,提问作者Sina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:40:36