【问题标题】:Typescript - Record<string, any> to Object打字稿 - 记录<字符串,任何>到对象
【发布时间】:2021-09-17 06:30:12
【问题描述】:

我有一个 Record 并且想将它转换为一个对象。不幸的是,我通过Nock 得到了这种类型,所以我无法更改它。 但要继续使用它,我需要一个对象。也许有人知道答案,因为不幸的是我自己没有找到任何东西。

【问题讨论】:

  • Record&lt;string, any&gt; 一个对象。我不确定您想对其进行哪些进一步的改造。
  • 正如问题所写,它没有任何意义。正如其他人指出的那样,它已经是一个对象。所以这意味着:您还没有尝试过(!)或者您已经尝试过,并且还有其他一些您没有告诉我们的问题。因此,在您提供更多详细信息之前,我将把它标记为关闭。
  • 请考虑提供一个 minimal reproducible example 来证明您在说什么,以便其他人可以帮助您。

标签: typescript nock


【解决方案1】:

The Record type is an object.

Record&lt;string, any&gt; 是一种类型,其中键是 string,每个值都是 any。事实上,您可以使用对象类型表示法来编写这种类型。

type A = Record<string, any>
type B = { [key: string]: any }
// A and B are equivalent

您可以像访问对象一样访问它:

const obj: Record<string, any> = { ... data here ... }
const aValue = obj.someProp

所以如果你有一个Record&lt;string, any&gt;,你可以像访问一个对象一样访问任何string 属性,然后你会得到一个类型为any 的对象。无需转换。

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 2017-02-11
    • 1970-01-01
    • 2022-07-20
    • 2021-01-26
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多