说我有一个这样的界面:

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
}

09-11 19:00
查看更多