gpt4 book ai didi

arrays - 如何在 TypeScript 的接口(interface)中定义一个命名的对象数组?

转载 作者:行者123 更新时间:2023-12-03 12:11:07 25 4
gpt4 key购买 nike

如何定义 restaurants TypeScript 接口(interface)中的属性?

let test = {
user_id: 5,
restaurants: [
{
restaurant_id: 5,
restaurant_rank: 5
},
{
restaurant_id: 6,
restaurant_rank: 6
}
],
timestamp: 'test'
};

笔记

我查看了以下问题,但没有一个能解决我的问题:

How can I define an interface for an array of objects with Typescript?

How can I define an array of objects in typescript?

最佳答案

我的写作方式是这样的:

interface IRestaurant {
restaurant_id: number;
restaurant_rank: number;
restaurant_details?: any;
}

interface IThing {
user_id: number;
timestamp: string;
restaurants: Array<IRestaurant>;
}

const test: IThing = {
user_id: 5,
restaurants: [
{
restaurant_id: 5,
restaurant_rank: 5
},
{
restaurant_id: 6,
restaurant_rank: 6
}
],
timestamp: 'test'
};

还有其他几种方法可以做数组:
interface IThing {
user_id: number;
timestamp: string;
restaurants: IRestaurant[];
}

interface IThing {
user_id: number;
timestamp: string;
restaurants: Array<{restaurant_id: number, restaurant_rank: number}>;
}

我在您的回复中注意到您做了 restaurant_details: Object .你应该这样做 restaurant_details: any因为 Object 比任何限制都更严格。见 https://stackoverflow.com/a/18961904/2592233

我还在 restaurant_details 后面加了一个问号告诉编译器这是可选的,因为您在第一个示例中没有。

关于arrays - 如何在 TypeScript 的接口(interface)中定义一个命名的对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42993657/

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