{"ScriptPreparationCode":"var items = Array.from({\r\n length: 20000\r\n}, (_, i) =\u003E ({\r\n id: \u0060item-${i}\u0060\r\n}))\r\n\r\nvar dataObj = {};\r\n\r\nitems.forEach((item, i) =\u003E {\r\n dataObj[item.id] = {\r\n start: i * 30,\r\n end: i * 30 \u002B 30\r\n }\r\n});\r\n\r\nvar dataMap = new Map();\r\n\r\nitems.forEach((item, i) =\u003E {\r\n dataMap.set(item.id, {\r\n start: i * 30,\r\n end: i * 30 \u002B 30\r\n });\r\n});","TestCases":[{"Name":"Create object","Code":"const obj = {};\r\n\r\nitems.forEach((item, i) =\u003E {\r\n if (item.id === \u0022__proto__\u0022 || item.id === \u0022constructor\u0022) return;\r\n obj[item.id] = {\r\n start: i * 30,\r\n end: i * 30 \u002B 30\r\n }\r\n});","IsDeferred":false},{"Name":"Create map","Code":"const map = new Map();\r\n\r\nitems.forEach((item, i) =\u003E {\r\n map.set(item.id, {\r\n start: i * 30,\r\n end: i * 30 \u002B 30\r\n });\r\n});","IsDeferred":false},{"Name":"Update obj","Code":"items.forEach((item, i) =\u003E {\r\n dataObj[item.id] = {\r\n start: i * 40,\r\n end: i * 40 \u002B 40\r\n }\r\n});\r\n\r\nconst obj = { ...dataObj };","IsDeferred":false},{"Name":"Update map","Code":"items.forEach((item, i) =\u003E {\r\n dataMap.set(item.id, {\r\n start: i * 40,\r\n end: i * 40 \u002B 40\r\n });\r\n});\r\n\r\nconst map = new Map(dataMap);","IsDeferred":false},{"Name":"Obj size","Code":"Object.keys(dataObj).length;","IsDeferred":false},{"Name":"Map size","Code":"dataMap.size;","IsDeferred":false},{"Name":"Map obj","Code":"Object.entries(dataObj).map(([key, data]) =\u003E {\r\n console.log(key, data);\r\n});","IsDeferred":false},{"Name":"Map map","Code":"Array.from(dataMap).map(([key, data]) =\u003E {\r\n console.log(key, data);\r\n});","IsDeferred":false}]}