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

TypeScript如何提取嵌套数组项中的Item类型?

获取PaginatedResult中results数组里的Item类型

你可以通过索引访问类型的嵌套写法直接提取目标类型,具体步骤如下:

  1. 用PaginatedResult["results"]拿到数组类型{ item: Item }[]
  2. 加上[number]取出数组单个元素的类型:{ item: Item }
  3. 最后用["item"]提取该对象中item属性的类型,也就是你要的Item

完整写法如下:

type ExtractedItem = PaginatedResult["results"][number]["item"];

举个完整示例验证效果:

// 先定义Item类型
interface Item {
  id: number;
  name: string;
}

interface PaginatedResult {
  results: {
    item: Item;
  }[];
  pagination: {
    pageSize: number;
    offset: number;
    total: number;
  }
}

// 提取Item类型
type ExtractedItem = PaginatedResult["results"][number]["item"];

// 测试:ExtractedItem会被推断为{ id: number; name: string },和Item完全一致
const testItem: ExtractedItem = { id: 1, name: "test" };

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:25:41