gpt4 book ai didi

typescript - 如何声明另一种接口(interface)类型的可迭代对象?

转载 作者:搜寻专家 更新时间:2023-10-30 21:30:22 25 4
gpt4 key购买 nike

因此,我在这里尝试创建 Object 的接口(interface)类型,它只包含特定的接口(interface)。例如:

export interface IUser {
name: string;
last: string;
};

export interface IRoom {
users: Object<IUser>; // this is wrong.
}

我预计,用户会是这样的:

Users: {
'user_id_goes_here': {
name: 'John',
last: 'Doe'
},
'user_id_goes_here': {
name: 'Albert',
last: 'Einstein'
},
...
}

有没有办法像这样定义接口(interface)成员类型?

最佳答案

我想你想要这样的东西:

export interface Room {
users: UserMap;
}

export interface UserMap {
[userId: string]: User;
}

export interface User {
name: string;
last: string;
}

[userId: string]: IUser; 就是所谓的字符串索引签名。这意味着每当您使用字符串索引到 UserMap 时,您将得到一个 IUser

关于typescript - 如何声明另一种接口(interface)类型的可迭代对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40445192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com