typescript 接口:一个数组和一个对象的数组
Posted
技术标签:
【中文标题】typescript 接口:一个数组和一个对象的数组【英文标题】:typescript interface : an array of an array and an object 【发布时间】:2022-01-24 03:24:29 【问题描述】:我在使用 TypeScript 界面时遇到问题。
我总是制作一些简单的界面,如下所示。
a: 1
interface A
a: number
但这次我很迷茫。
这是我的函数返回的结果,我想为它做一个接口。
[
[ 0 ],
acknowledged: true,
modifiedCount: 1,
upsertedId: null,
upsertedCount: 0,
matchedCount: 1
]
它是一个数组,里面有另一个数组和一个对象。
我很乐意为您提供帮助。
谢谢!
【问题讨论】:
到目前为止您尝试过什么?你具体在哪里遇到困难?您是否需要您的界面成为现有数据的视图?它需要是不可变的还是可变的?等 您发布的示例 JSON 有一个 外部类型,它是一个数组,而不是object
。定义描述数组的接口并不常见(但可以这样做)。在您澄清自己在做什么之前,我们无法真正继续进行。
嗨戴!很抱歉没有说清楚,我是编程新手。我的意思是我想做一个文件夹,里面有所有接口并导出使用。我的代码中的一个函数返回我上面写的结果(一个数组,里面有一个数组和一个对象)所以我想知道如何为这个结果定义一个类型。
看到这个了吗? ***.com/questions/25469244/…
是的,我已经解决了!谢谢戴
【参考方案1】:
您只显示了一个值,因此很难知道该函数可能会返回哪些类型的其他值。但是,仅基于该示例,以下是一种描述它的类型:
TS Playground
type Result = [
number[],
acknowledged: boolean;
modifiedCount: number;
upsertedId: null; // really, this is probably (null | number) OR (null | string)
upsertedCount: number;
matchedCount: number;
,
];
【讨论】:
谢谢!我按照你说的解决了!顺便说一句,upsertedId 的类型是 ObjectId,所以我从 Mongoos.types 获得了 ObjectId,这是我的问题。听说 ObjectId 可以是 'String' 类型,对吗? @Emily 不,ObjectId
是一个类(请参阅指向 line 877 here 的 line 24 here),因此您需要使用该类型:ObjectId
。如果这回答了您的问题,请随时将其标记为此类。以上是关于typescript 接口:一个数组和一个对象的数组的主要内容,如果未能解决你的问题,请参考以下文章
数组中有一个数字出现次数超过数组长度一半,找出这个数字(用C语言解决)。要求时间复杂度尽量小。