Die Typdefinition für Karte wird wie folgtUse Map Konstruktor in Typoskript mit initialisierten Werte
interface MapConstructor {
new <K, V>(): Map<K, V>;
new <K, V>(iterable: IterableShim<[K, V]>): Map<K, V>;
prototype: Map<any, any>;
}
ich den zweiten Konstruktor new <K, V>(iterable: IterableShim<[K, V]>): Map<K, V>;
Ich habe ein Typ-I definiert haben type ChangeMap = { [key: string]: Array<string> };
verwenden möchten, die verwendet wird als
let changeMap: ChangeMap = { A: ["Car", "Boat"], B: ["Plane", "Rocket"] };
folgt möchte ich eine Map<number, ChangeMap>
schaffen, die ich leicht genug tun kann, aber ich bin fest, wie das zu strukturieren Daten, die ich meine Map
mit
public changeOptions = new Map<number, ChangeMap>(... what goes here ... ?)
Ist das möglich initialisiert werden soll oder muss ich meine Map
ohne Werte initialisieren und dann changeOptions.set(1, changeMap);
nennen es Werte zu geben?
--- EDIT # 1
zu beantworten @ unter Paarth Frage, die number
Schlüssel in den changeOptions
Map
sind Kennungen für andere Objekte in der Domäne.
Angenommen ich eine Klasse von Option haben, definiert als
folgtclass Option {
id: number;
name: string;
}
Die id
einer gegebenen Option
Instanz der Schlüssel für die changeOptions
Map
wäre. Es gibt einen begrenzten vordefinierten Satz von Options
basierend auf Geschäftsregeln für die Domäne. Nehmen wir für diese Frage gibt es 3 Option
Instanzen mit id
Werte von 2, 10, 34
, so möchte ich diejenigen, die Schlüssel des changeOptions
Map
Woher kommen die Nummern (erster Parameter in Ihrem Anruf)? – Paarth
@Paarth Die Zifferntasten für die 'changeOptions' 'Map' sind IDs für andere Objekte in der Domäne. Abhängig von dieser ID möchte ich eine andere 'ChangeMap' verwenden – seangwright