{"ScriptPreparationCode":"window.arr = [];\r\nwindow.obj = {};\r\n\r\nfor (var i = 0, len = 100; i \u003C len; i\u002B\u002B) {\r\n const src = {\r\n id: \u0027id-\u0027 \u002B i\r\n };\r\n\r\n obj[src.id] = src;\r\n arr.push(src);\r\n}","TestCases":[{"Name":"obj immutable","Code":"_.reduce(obj, (acc, val, key) =\u003E {\r\n return {\r\n ...acc,\r\n [key]: val\r\n };\r\n}, {});","IsDeferred":false},{"Name":"arr immutable","Code":"_.reduce(arr, (acc, val) =\u003E {\r\n return {\r\n ...acc,\r\n [val.id]: val\r\n };\r\n}, {});","IsDeferred":false},{"Name":"obj mutable","Code":"_.reduce(obj, (acc, val, key) =\u003E {\r\n acc[key] = val;\r\n\r\n return acc;\r\n}, {});","IsDeferred":false},{"Name":"arr mutable","Code":"_.reduce(arr, (acc, val) =\u003E {\r\n acc[val.id] = val;\r\n \r\n return acc;\r\n}, {});","IsDeferred":false},{"Name":"obj keys","Code":"const keys = Object.keys(obj);\r\n\r\n_.reduce(keys, (acc, key) =\u003E {\r\n acc[key] = obj[key];\r\n\r\n return acc;\r\n}, {});","IsDeferred":false},{"Name":"obj entries","Code":"const pairs = Object.entries(obj);\r\n\r\n_.reduce(pairs, (acc, [key, val]) =\u003E {\r\n acc[key] = val;\r\n\r\n return acc;\r\n}, {});","IsDeferred":false}]}