I need to generate a couple of objects from lists in Javascript. In Python, I\'d write this:
{key_maker(x): val_maker(x) for x in a_list}
A
ES5 introduced Map for an OrderedDict. A Map comprehension might look like:
Map( Array.map(function(o){return[ key_maker(o), val_maker(o) ]}))
Example:
> a_list = [ {x:1}, {x:2}, {x:3} ]
< [ Object, Object, Object ]
>
> let dict = new Map(a_list.map(function(o){return[ o.x, o.x**2 ]}))
< Map[3]
< 0 : {1 => 1}
< 1 : {2 => 4}
< 2 : {3 => 9}
>
> dict.get(2)
< 4