很抱歉,我的格式设置有误,我从未使用过stackoverflow,但我一直在努力解决问题,希望有人能提供一些清晰度。
我正在尝试构建一个显示个人最喜欢的食物的应用程序。该程序将为每个人生成一个表格,该人的姓名在顶部,下方是他们最喜欢的食物的列表。它需要接受任何数量的食物。
如果我只有预定的字段(喜欢的水果/蔬菜/甜点),我可以将信息映射出来,但是我不想依靠使用“ favFruit:user.favFruit”,因为这将我限制在多少个项目上我已经在界面中定义了。
interface User {
name: string;
username: string;
favourites: ???; // maybe Array<any>?
}
users.map(user => {
user.name = [{ name: user.name, username: user.username }];
user.favourites = [ { ??? } ];
return user;
});
我当然可以做与映射用户名/用户名时相同的操作,但是对于此示例,我不想假设我知道用户的“收藏夹列表”中有多少项,或者是什么确实是。有什么建议吗?
答案 0 :(得分:0)
如果您确定对象的形状(例如,
),则可以定义一个单独的interface Favorite
。
interface Favorite {
type: string;
name: string;
}
然后,您可以在Array<Favorite>
界面中使用User
。
但是,如果无法确定物体的形状,那么Array<any>
可以为您省去很多麻烦。