Source code

Revision control

Copy as Markdown

Other Tools

// WeakMap can take an argument that is an array of singleton arrays.
var k1 = {};
var k2 = {};
var k3 = {};
var arr = [[k1], [k2]];
var m = new WeakMap(arr);
assertEq(m.has(k1), true);
assertEq(m.has(k2), true);
assertEq(m.has(k3), false);
assertEq(m.get(k1), undefined);
assertEq(m.get(k2), undefined);
assertEq(m.get(k3), undefined);
var arraylike1 = {
0: k1,
1: undefined
};
var arraylike2 = {
0: k2,
};
arr = [arraylike1, arraylike2];
m = new WeakMap(arr);
assertEq(m.has(k1), true);
assertEq(m.has(k2), true);
assertEq(m.has(k3), false);
assertEq(m.get(k1), undefined);
assertEq(m.get(k2), undefined);
assertEq(m.get(k3), undefined);