javascript - TypeScript:描述对象的对象

标签 javascript typescript

假设我有一个这样的界面:

interface Student {
  firstName: string;
  lastName: string;
  year: number;
  id: number;
}

如果我想传递这些对象的数组,我可以简单地将类型写为 Student[]

我使用的不是数组,而是一个对象,其中学生 ID 是键,学生是值,以便于查找。

let student1: Student;
let student2: Student;
let students = {001: student1, 002: student2 }

有什么方法可以将此数据结构描述为我传递给函数或从函数返回的类型吗?

我可以这样定义一个接口(interface):

interface StudentRecord {
  id: number;
  student: Student
}

但这仍然不是我想要的类型。我需要指示我有一个充满对象的对象,它看起来像这样,同样 Student[] 指示我有一个充满对象的数组,看起来像这样。

最佳答案

您可以简单地使 key 动态化:

interface IStudentRecord {
   [key: string]: Student
}

关于javascript - TypeScript:描述对象的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53733322/

相关文章:

javascript - 将 $ajax 转换为 fetch() 以进行 PUT 请求

javascript - TinyMCE 外包被选元素

angularjs - 我应该如何在 Typescript 中定义 promise 回调的类型?

reactjs - 一些组件属性在react-dnd中删除后重置

intellij-idea - IntelliJ IDEA 在 rxjs5 中找不到 Observable 的运算符

javascript - React 动态导入 Svg 文件

reactjs - 类型 'IntrinsicAttributes & IntrinsicClassAttributes<DatePicker> & Readonly<{ children?: ReactNode; }> ...' 上不存在属性

javascript - 使用谷歌地图 setIcon 时如何更改标记大小

javascript - 如何在 Node.js 中为 JWT 设置 Cookie

javascript - 如何检测浏览器后退按钮事件 - 跨浏览器