typescript-声明子对象的结构

typescript-声明子对象的结构,typescript,Typescript,如何将对象的结构声明为其他对象的子对象?我不知道编译时有多少孩子 let obj = { child1: {id: 1, name: "Name id1"}, child2: {id: 2, name: "Name id2"}, child3: {id: 3, name: "Name id3"}, child4: {id: 4, name: "Name id4"}, child5: {id: 5, name: "Name id5"}, child6

如何将对象的结构声明为其他对象的子对象?我不知道编译时有多少孩子

let obj = {
    child1: {id: 1, name: "Name id1"},
    child2: {id: 2, name: "Name id2"},
    child3: {id: 3, name: "Name id3"},
    child4: {id: 4, name: "Name id4"},
    child5: {id: 5, name: "Name id5"},
    child6: {id: 6, name: "Name id6"},
}
所以我想声明类型(或接口)
{id:number,name:string}
,并且
obj
可以为这个新类型的属性拥有任何属性名称和值。

感谢@jornsharpe

interface IdName {id: number, name: string}
let list: { [key: string]: IdName } = {};

obj:{[key:string]:…}