{"ScriptPreparationCode":"const ids = Array.from({\r\n length: 1000\r\n}, () =\u003E Math.random().toString(16).slice(2));\r\nconst array = [...ids.map((id) =\u003E ([{\r\n id: id,\r\n content: \u0022foo\u0022\r\n }, {\r\n id: id,\r\n content: \u0022bar\u0022\r\n }, {\r\n id: id,\r\n content: \u0022baz\u0022\r\n }]))].flat();","TestCases":[{"Name":"Filter \u002B Set","Code":"const seen = new Set();\r\nconst deduplicatedArray1 = array.filter(item =\u003E {\r\n if (seen.has(item.id)) {\r\n return false;\r\n }\r\n seen.add(item.id);\r\n return true;\r\n});\r\n","IsDeferred":false},{"Name":"Array from Map","Code":"const deduplicatedArray2 = [\r\n ...new Map(array.map(item =\u003E [item.id, item])).values()\r\n];","IsDeferred":false},{"Name":"Naive Filter ","Code":"const deduplicatedArray3 = array.filter((item, index, self) =\u003E \r\n index === self.findIndex(obj =\u003E obj.id === item.id)\r\n);","IsDeferred":false},{"Name":"Object lookup","Code":"const deduplicatedArray4 = [];\r\nconst seen = {};\r\n\r\nfor (const item of array) {\r\n if (!seen[item.id]) {\r\n deduplicatedArray4.push(item);\r\n seen[item.id] = true;\r\n }\r\n}\r\n","IsDeferred":false}]}