Map的类型定义如下
interface MapConstructor {
new <K, V>(): Map<K, V>;
new <K, V>(iterable: IterableShim<[K, V]>): Map<K, V>;
prototype: Map<any, any>;
}
Run Code Online (Sandbox Code Playgroud)
我想使用第二个构造函数new <K, V>(iterable: IterableShim<[K, V]>): Map<K, V>;
我定义了一个类型,type ChangeMap = { [key: string]: Array<string> };其使用方式如下
let changeMap: ChangeMap = { A: ["Car", "Boat"], B: ["Plane", "Rocket"] };
Run Code Online (Sandbox Code Playgroud)
我想创建一个Map<number, ChangeMap>我可以轻松完成的任务,但我对如何构建我想要初始化的数据感到Map困惑
public changeOptions = new Map<number, ChangeMap>( ... what goes here ... ?)
Run Code Online (Sandbox Code Playgroud)
这是可能的还是我需要初始化我的Map没有值然后调用changeOptions.set(1, changeMap);给它值?
---编辑#1
为了回答下面@Paarth 的问题,number中的键changeOptions Map是域中其他对象的标识符。
假设我有一类 Option 定义如下
class Option {
id: number;
name: string;
}
Run Code Online (Sandbox Code Playgroud)
id给定实例的是Option的关键changeOptions Map。有一组有限的Options基于域业务规则的预定义。假设这个问题有 3 个值为 的Option实例,所以我希望它们成为id2, 10, 34changeOptions Map
小智 4
语法是:
let changeOptions = new Map<number, ChangeMap>([[2, changeMap], [10, anotherChangeMap], [34, thirdChangeMap]]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9334 次 |
| 最近记录: |