的地圖類型定義如下使用地圖的構造中打字稿與初始化值
interface MapConstructor {
new <K, V>(): Map<K, V>;
new <K, V>(iterable: IterableShim<[K, V]>): Map<K, V>;
prototype: Map<any, any>;
}
我想用第二個構造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"] };
我想創建一個Map<number, ChangeMap>
,我可以做的很輕鬆了,但我堅持爲如何構建數據我想初始化我Map
與
public changeOptions = new Map<number, ChangeMap>(... what goes here ... ?)
這是可能的,或者我需要初始化我Map
沒有價值,然後調用changeOptions.set(1, changeMap);
給它值?
---編輯#1
要回答下面@ Paarth的問題,在changeOptions
Map
的number
鍵用於域中的其他對象標識符。
假設我有一個類定義的選項,如下所示
class Option {
id: number;
name: string;
}
給定Option
實例的id
是爲changeOptions
Map
的關鍵。根據域的業務規則,有限的預定義集合Options
。假設對於該問題有3分Option
與2, 10, 34
id
值的情況下,所以我想這些是的changeOptions
Map
數字(您設置的電話中的第一個參數)來自哪裏? – Paarth
@Paarth「changeOptions」Map「的數字鍵是域中其他對象的ID。根據該ID我想要使用不同的'ChangeMap' – seangwright