{"ScriptPreparationCode":"const key = \u0027id\u0027;\r\nconst sequence = [\u0027foo\u0027, \u0027bar\u0027, \u0027baz\u0027, \u0027qux\u0027, \u0027quz\u0027];\r\n\r\nconst objects = [{ id: \u0027baz\u0027 }, null, { id: \u0027foo\u0027 }, {id: \u0027quz}];\r\nsequencer(key, sequence, objects)","TestCases":[{"Name":"for loops","Code":"function sequencer(key,\tsequence, objects) {\r\n\tconst keyMap = new Map();\r\n\r\n\tfor (const o of objects) {\r\n\t\tif (o != null) {\r\n\t\t\tconst mapKey = o[key];\r\n\t\t\tkeyMap.set(mapKey, o);\r\n\t\t}\r\n\t}\r\n\r\n\tconst result = Array(sequence.length);\r\n\tfor (let i = 0; i \u003C sequence.length; i \u002B= 1) {\r\n\t\tresult[i] = keyMap.get(sequence[i]) ?? null;\r\n\t}\r\n\r\n\treturn result;\r\n}","IsDeferred":false},{"Name":"Array methods","Code":"function sequencer(key,\tsequence, objects) {\r\n\tconst keyMap = objects.reduce((acc, o) =\u003E {\r\n\t\tif (o == null) {\r\n\t\t\treturn acc;\r\n\t\t}\r\n\t\tconst mapKey = o[key];\r\n\t\tacc.set(mapKey, o);\r\n\t\treturn acc;\r\n\t}, new Map());\r\n\r\n\treturn sequence.map((k) =\u003E {\r\n\t\tconst value = keyMap.get(k);\r\n\t\treturn value ?? null;\r\n\t});\r\n}","IsDeferred":false}]}