{"ScriptPreparationCode":"var dag = {\r\n nodes: [{\r\n id: \u00271\u0027\r\n }, {\r\n id: \u00272\u0027\r\n }, {\r\n id: \u00273\u0027\r\n }, {\r\n id: \u00274\u0027\r\n }],\r\n links: [{\r\n fromId: \u00271\u0027,\r\n fromPort: \u0027Output\u0027,\r\n toId: \u00272\u0027,\r\n toPort: \u0027Input\u0027\r\n },\r\n {\r\n fromId: \u00271\u0027,\r\n fromPort: \u0027Output\u0027,\r\n toId: \u00273\u0027,\r\n toPort: \u0027Input\u0027\r\n },\r\n {\r\n fromId: \u00272\u0027,\r\n fromPort: \u0027Output\u0027,\r\n toId: \u00274\u0027,\r\n toPort: \u0027Input\u0027\r\n },\r\n {\r\n fromId: \u00273\u0027,\r\n fromPort: \u0027Output\u0027,\r\n toId: \u00274\u0027,\r\n toPort: \u0027Input\u0027\r\n },\r\n ]\r\n}","TestCases":[{"Name":"Vanilla Reduce","Code":"var incomingLinksById = dag.links.reduce((acc, link) =\u003E {\r\n if (!acc[link.toId]) {\r\n acc[link.toId] = [link];\r\n } else {\r\n \tacc[link.toId].push(link);\r\n }\r\n return acc;\r\n}, {});","IsDeferred":false},{"Name":"Native groupBy","Code":"var incomingLinksById = Object.groupBy(dag.links, l =\u003E l.toId);","IsDeferred":false},{"Name":"ramda","Code":"var incomingLinksById = R.groupBy(l =\u003E l.toId, dag.links)","IsDeferred":false},{"Name":"lodash","Code":"var incomingLinksById = _.groupBy(dag.links, l =\u003E l.toId)","IsDeferred":false}]}