{"ScriptPreparationCode":"n = 80000\r\nexisting = Array.from({length: n}, () =\u003E ({externalId: Math.floor(Math.random() * n)}));\r\ndesired = Array.from({length: n}, () =\u003E ({externalId: Math.floor(Math.random() * n)}));\r\nkey = \u0027externalId\u0027","TestCases":[{"Name":"set-has","Code":"desiredKeys = new Set(desired.map(d =\u003E d[key]))\r\nexistingKeys = new Set(existing.map(e =\u003E e[key]))\r\nreturn desired.filter(d =\u003E !existingKeys.has(d[key]))","IsDeferred":false},{"Name":"indexOf","Code":"existingKeys = existing.map(e =\u003E e[key]).sort()\r\nreturn desired.filter(d =\u003E existingKeys.indexOf(d[key]) === -1)","IsDeferred":false},{"Name":"smart indexOf","Code":"desiredSort = desired.sort((a,b) =\u003E a[key] - b[key])\r\nexistingKeys = existing.map(e =\u003E e[key]).sort()\r\nreturn desiredSort.reduce((acc, d) =\u003E {\r\n if (i = existingKeys.indexOf(d[key]) \u003E -1) {\r\n acc.i = i;\r\n acc.list.push(d);\r\n }\r\n return acc;\r\n}, {i: 0, list: []})","IsDeferred":false}]}