Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Initialize a Map containing arrays in TypeScript

Tags:

typescript

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[]>'. 
like image 261
BBaysinger Avatar asked Jan 20 '17 18:01

BBaysinger


2 Answers

Per Mozilla's Map documentation, you can initialize as follows:

private _gridOptions:Map<string, Array<string>> =      new Map([         ["1", ["test"]],         ["2", ["test2"]]     ]); 
like image 138
GPicazo Avatar answered Oct 21 '22 01:10

GPicazo


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"]); 
like image 33
Manjunath Hadimani Avatar answered Oct 21 '22 03:10

Manjunath Hadimani