1Z1*_*Z10 6 dictionary equality typescript
在检查地图是否已经具有对象作为键时遇到一些麻烦。
例如
const myMap: Map<MyObject1, MyObject2> = new Map<MyObject1, MyObject2>();
Run Code Online (Sandbox Code Playgroud)
我还在MyObject1类中定义了一个equals函数
equals(other: ThreatAgentMgm): boolean {
return other.id === this.id;
}
Run Code Online (Sandbox Code Playgroud)
但myMap.has(myObject1)总是错误的。我读了has方法基于===运算符,我应该在MyObject1类中定义其他内容吗?
由于最后的每个 JSON 对象都只是一个字符串,因此我最终使用 JSON.stringify(myObject) 作为 Map 的键,并使用几个值 (MyObject1, MyObject2) 作为实际值。这样我就能够在 O(1) 时间内获得所需的值,同时保持关键对象可用,而无需再次解析 JSON 或最坏的情况,再次从数据库中检索它。
| 归档时间: |
|
| 查看次数: |
3123 次 |
| 最近记录: |