java - 如何为 Map of Sets 的 Java Map 声明 TypeScript 类型?

标签 java arrays json typescript dictionary

在 Java 中我有这样的东西:

public class MyMatrix implements Map<Long, Map<Long, Set<MyObject>>> {...}

我想做的是在TypeScript中声明这个Map对应的类型。

对应的JSON为:

{
   "1":{
      "1":[{"id":1},{"id":2}]
   },
   "2":{
      "1":[{"id":2},{"id":3}]
   }
}

我希望能够使用关联数组表示法访问它,例如myArray[1][1] 应该返回 [{"id":1},{"id":2}]

我试过用这样的东西

var myMatrix: Array<Array<Array<MyObjec>>>;

但没有运气。

尝试以下代码时:

for (const x in Object.keys(this.myMatrix)) {
  for (const y in Object.keys(this.myMatrix[x])) {
  }
}

我在第二个 for 循环中得到以下错误:

ERROR TypeError: Cannot convert undefined or null to object
    at Function.keys (<anonymous>)

希望我能找到一点提示:这个错误的原因似乎是在第一个循环中 Object.keys 是从 '0' 而不是 '1' 这对我来说更陌生。

最佳答案

HugoTeixeira 的类型很适合我。这段代码:

for (const x in Object.keys(this.myMatrix)) {
  for (const y in Object.keys(this.myMatrix[x])) {
  }
}

应该是:

for (const x of Object.keys(this.myMatrix)) {
//           ^^
  for (const y of Object.keys(this.myMatrix[x])) {
  }
}

关于java - 如何为 Map of Sets 的 Java Map 声明 TypeScript 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52057526/

相关文章:

c# - 在 C# 中将图片编码为 Byte[]

c - 在 C 中使用数组的埃拉托斯特尼筛选算法

php - 列出目录中的文件并将结果打印为 JSON

json - 使用 Rx 编程 Moya 将 JSON 响应映射到对象

我们可以在数组内联声明中分配更少的数组内容吗?

json - 如何解析 JSON 中的特殊字符?

java - QuickSort (Java) 实现要么溢出,要么停止

java - 比较两个不同长度的数组

java - GSON 是否应该被声明为 static final?

java - 数据导入期间超出 Fuseki GC 开销限制