{"ScriptPreparationCode":"const keys = new Array(100);\r\nfor(let i = 0; i \u003C 100; i\u002B\u002B) {\r\n keys[i] = Math.random().toString(36).slice(2); \r\n}\r\n\r\nconst lookupKeys = new Array(500);\r\nfor(let i = 0; i \u003C 500; i\u002B\u002B) {\r\n lookupKeys[i] = Math.random() \u003C 0.2 ? keys[Math.floor(Math.random() * 100)] : Math.random().toString(36).slice(2);\r\n}","TestCases":[{"Name":"Empty Map \u002B loop insert - creation","Code":"const map = new Map();\r\nfor(let i = 0, keyLen = keys.length; i \u003C keyLen; i\u002B\u002B) {\r\n map.set(keys[i], true);\r\n}","IsDeferred":false},{"Name":"Map constructor - creation","Code":"const map = new Map(keys.map((k) =\u003E [k, true]));","IsDeferred":false},{"Name":"Object with eval hack - creation","Code":"const obj = eval(\u0060({ ${keys.map((k) =\u003E \u0060\u0022${k}\u0022: true\u0060).join(\u0022, \u0022)} })\u0060);","IsDeferred":false},{"Name":"Empty Map \u002B loop insert - lookup","Code":"const map = new Map();\r\nfor(let i = 0, keyLen = keys.length; i \u003C keyLen; i\u002B\u002B) {\r\n map.set(keys[i], true);\r\n}\r\n\r\nlet hits = 0;\r\nfor(const k of lookupKeys) {\r\n if(map.get(k)) {\r\n hits\u002B\u002B; \r\n }\r\n}","IsDeferred":false},{"Name":"Map constructor - lookup","Code":"const map = new Map(keys.map((k) =\u003E [k, true]));\r\n\r\nlet hits = 0;\r\nfor(const k of lookupKeys) {\r\n if(map.get(k)) {\r\n hits\u002B\u002B; \r\n }\r\n}","IsDeferred":false},{"Name":"Eval hack - lookup","Code":"const obj = eval(\u0060({ ${keys.map((k) =\u003E \u0060\u0022${k}\u0022: true\u0060).join(\u0022, \u0022)} })\u0060);\r\n\r\nlet hits = 0;\r\nfor(const k of lookupKeys) {\r\n if(obj[k]) {\r\n hits\u002B\u002B; \r\n }\r\n}","IsDeferred":false},{"Name":"Empty object - creation","Code":"const obj = {};\r\nfor(let i = 0, keyLen = keys.length; i \u003C keyLen; i\u002B\u002B) {\r\n obj[keys[i]] = true;\r\n}","IsDeferred":false},{"Name":"Empty object - lookup","Code":"const obj = {};\r\nfor(let i = 0, keyLen = keys.length; i \u003C keyLen; i\u002B\u002B) {\r\n obj[keys[i]] = true;\r\n}\r\n\r\nlet hits = 0;\r\nfor(const k of lookupKeys) {\r\n if(obj[k]) {\r\n hits\u002B\u002B; \r\n }\r\n}","IsDeferred":false}]}