initialize a Map
a new Map()
is empty, has size=0
const mapSize = new Map();
assert.equal(mapSize, 0);
init Map with [[]]
has a size=1
const mapSize = new Map().size;
assert.equal(mapSize, 1);
init a Map with [[1]]
is the same as map.set(1, void 0)
let map1 = new Map();
let map2 = new Map().set(1, void 0);
assert.deepEqual(map1, map2);
init Map with multiple key+value pairs
const pair1 = [1, 'one'];
const pair2 = [2, 'two'];
const map = new Map();
assert.deepEqual(map, new Map().set(...pair1).set(...pair2));
keys are unique, the last one is used
const pair1 = [1, 'one'];
const pair2 = [1, 'uno'];
const pair3 = [1, 'eins'];
const pair4 = [2, 'two'];
const map = new Map([pair3, pair1, pair2, pair4]);
assert.deepEqual(map, new Map().set(...pair3).set(...pair4));
init Map from an Object, is a bit of work
let map = new Map();
const obj = {x: 1, y: 2};
const keys = Object.keys(obj);
keys.forEach(key => map.set());
assert.deepEqual(map, new Map([['x', 1], ['y', 2]]));