{"ScriptPreparationCode":"function makeid(length) {\r\n var result = \u0027\u0027;\r\n var characters = \u0027ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\u0027;\r\n var charactersLength = characters.length;\r\n for ( var i = 0; i \u003C length; i\u002B\u002B ) {\r\n result \u002B= characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n return result;\r\n}\r\n\r\nfunction uniqByTitle1(arr) {\r\n return [...arr.reduce((items, item) =\u003E {\r\n if (!items.has(item.title)) {\r\n items.set(item.title, item);\r\n }\r\n\r\n return items;\r\n }, new Map()).values()];\r\n}\r\n\r\nfunction uniqByTitle2(arr) {\r\n const items = new Map();\r\n\r\n for (const item of arr) {\r\n if (!items.has(item.title)) {\r\n items.set(item.title, item);\r\n }\r\n }\r\n\r\n return [...items.values()];\r\n}\r\n\r\nvar arr = [];\r\nfor(var i = 0; i \u003C 100000; i\u002B\u002B){\r\n arr.push({\r\n title: makeid(20),\r\n });\r\n}\r\n","TestCases":[{"Name":"Lodash","Code":"_.uniqBy(arr, (item =\u003E item.title));","IsDeferred":false},{"Name":"Vanila","Code":"uniqByTitle1(arr)","IsDeferred":false},{"Name":"Vanila2","Code":"uniqByTitle2(arr)","IsDeferred":false}]}