{"ScriptPreparationCode":null,"TestCases":[{"Name":"Current impl","Code":"const deduplicateArrayByKey = (array, key) =\u003E {\r\n const arrayOfKeys = array.map((item) =\u003E item[key]);\r\n\r\n return array.filter(\r\n (item, index) =\u003E !arrayOfKeys.includes(item[key], index \u002B 1)\r\n );\r\n}\r\n\r\nlet testArray = [{ id: \u00221\u0022 }, { id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 }];\r\nreturn deduplicateArrayByKey(testArray, \u0022id\u0022);","IsDeferred":false},{"Name":"New impl","Code":"const deduplicateArrayByKey2 = (array, key) =\u003E {\r\n const seen = {};\r\n const result = [];\r\n array.forEach((item) =\u003E {\r\n if (!seen[item[key]]) {\r\n result.push(item);\r\n seen[item[key]] = true;\r\n }\r\n })\r\n return result;\r\n}\r\n\r\nlet testArray = [{ id: \u00221\u0022 }, { id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 },{ id: \u00221\u0022 }];\r\nreturn deduplicateArrayByKey2(testArray, \u0022id\u0022);","IsDeferred":false}]}