在 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/