我想将具有动态属性名称的对象添加到数组中,但是我不知道如何定义数组
class Driver {
public id: string;
public name: string;
constructor(id , name) {
this.id = id;
this.name = name;
}
}
let drivers: Driver[];
let driver = new Driver("1111","tom");
drivers.push({[driver.id]:driver})
答案 0 :(得分:2)
由于您事先不知道这些对象的键是什么,因此需要使用index signature。因此,对于您的示例,您将这样定义类型:
let drivers: {[id: string]: Driver}[];