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语言解决)。要求时间复杂度尽量小。

c语言:删去一维数组中所有相同的数, 使之只剩一个.求一完整正确程序

把数组排成最小的数

C ++回调数组[关闭]

如何在一个一维数组中插入一个和删除一个数

js中平级数组和树形结构数据相互转换