java - 如何为 Set Map of Sets 的 Java Map 声明 TypeScript 类型?
问题描述
在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] should return [{"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])) {
}
}
推荐阅读
- python - 如何为非管理员用户帐户创建用户环境变量?
- python - python中的Hybernate“动态查找器”等效项
- python - 如何将 3 个图像视图坐标列表(即 3 个 2d 列表)转换为单个 3-d 列表
- android-sdk-tools - 无法下载任何源列表 - android SDK
- xcode - Apple 的 SwiftUI 教程产生编译错误
- c++ - 如何在向量中打印任何给定的目标元素?
- sql - sql Group by 不适用于选择多列
- python - 脚本在尝试渲染文本时每隔一次初始化它就会崩溃
- sql - 相关标量子查询只能包含 spark sql 的相等谓词问题
- database - do循环中的错误,在SAS中的一段时间内创建变量