说我有一个这样的界面:
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
}