How to fill a Javascript object literal with many static key/value pairs efficiently?

Jérôme Verstrynge picture Jérôme Verstrynge · Feb 5, 2013 · Viewed 119.1k times · Source

The typical way of creating a Javascript object is the following:

var map = new Object();
map[myKey1] = myObj1;
map[myKey2] = myObj2;

I need to create such a map where both keys and values are Strings. I have a large but static set of pairs to add to the map.

Is there any way to perform something like this in Javascript:

var map =  { { "aaa", "rrr" }, { "bbb", "ppp" } ... };

or do I have to perform something like this for each entry:

map["aaa"]="rrr";
map["bbb"]="ppp";
...

Basically, remaining Javascript code will loop over this map and extract values according to criterias known 'at runtime'. If there is a better data structure for this looping job, I am interested too. My objective is to minimize code.

Answer

Nitin picture Nitin · Mar 12, 2016

In ES2015 a.k.a ES6 version of JavaScript, a new datatype called Map is introduced.

let map = new Map([["key1", "value1"], ["key2", "value2"]]);
map.get("key1"); // => value1

check this reference for more info.