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

TypeScript中如何将接口键声明为指定字符串类型?

TypeScript 类型结构修改方案:将 region 作为字符串键的索引类型

你需要将原类型结构调整为以字符串类型的region作为键,对应值包含categoryId和analyzes的结构,这可以通过TypeScript索引签名实现,具体方案如下:

实现方式

方式一:拆分子类型

先定义单个区域对应的分析数据类型,再通过索引签名构建最终类型,便于子结构复用:

// 定义单个区域的分析数据结构
type CategoryAnalyzeItem = {
  categoryId: string;
  analyzes: IAnalyzesStorageData[];
};

// 最终类型,以任意字符串作为region键
export type TCategoryAnalyzes = {
  [region: string]: CategoryAnalyzeItem;
};

方式二:直接合并定义

如果不需要单独复用子类型,也可以直接在索引签名中嵌套结构:

export type TCategoryAnalyzes = {
  [region: string]: {
    categoryId: string;
    analyzes: IAnalyzesStorageData[];
  };
};

示例用法

修改后的类型可按如下方式使用,每个键都是字符串类型的region值:

const sampleData: TCategoryAnalyzes = {
  "华北地区": {
    categoryId: "food-001",
    analyzes: [/* 填入IAnalyzesStorageData类型的数据 */]
  },
  "华东地区": {
    categoryId: "electronics-002",
    analyzes: []
  }
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:01:01