Reputation: 6877
I want to make a Map
where each member contains an array of strings. But how do I initialize and type it (in a single statement)?
(naively) I tried this:
private _gridOptions:Map<string, Array<string>> = {"1": ["test"]};
and I get:
Module build failed: Error: /Users/*****/Work/dashboard/src/app/core/pg.service.ts (8,5): Type '{ "1": string[]; }' is not assignable to type 'Map<string, string[]>'.
Upvotes: 82
Views: 224425
Reputation: 899
variableName: Map<string, string[]> = new Map();
To push elements into Map:
variableName.set("a", ["b", "c"]);
To get/retrieve elements from map:
variableName.get(key);// "a" in above case
Or directly use
variableName: Map<string, string[]> = new Map([['a', ['b', 'c']]]);
Upvotes: 9
Reputation: 6686
Per Mozilla's Map documentation, you can initialize as follows:
private _gridOptions:Map<string, Array<string>> =
new Map([
["1", ["test"]],
["2", ["test2"]]
]);
Upvotes: 174