簡體   English   中英

在 Typescript 中聲明深度嵌套的 Map 的類型

[英]Declaring the type of a deeply nested Map in Typescript

我似乎無法弄清楚如何以通用方式在 typescript 中聲明深度嵌套(遞歸)Map。 作為起點,我只是嘗試將以下 Javascript 示例轉換為 Typescript

const o1 = new Map([
  ['a', 'A']
])
const o2 = new Map([
  ['b1', 'B'],
  ['b2', o1]
])

const o3 = new Map([
  ['c1', 'C'],
  ['c2', o2]
])

console.log('o3', o3)

謝謝

Typescript 支持遞歸類型引用,因此我們可以將 map 的值描述為:

type StringOrMap = string | Map<string, StringOrMap>

並為Map構造函數明確指定它:

const o2 = new Map<string, StringOrMap>([
  ['b1', 'B'],
  ['b2', o1]
])

const o3 = new Map<string, StringOrMap>([
  ['c1', 'C'],
  ['c2', o2]
])

操場

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM