Write groupBy(items, key) that returns an object grouping the array of objects by the given property. groupBy([{t:"a",v:1},{t:"b",v:2},{t:"a",v:3}], "t") should give {a:[{t:"a",v:1},{t:"a",v:3}], b:[{t:"b",v:2}]}.
function groupBy(items, key) {
// your code here
}
Rules:
- Plain JavaScript, no libraries
- Do not mutate the input array
Post your solution as a reply. Answer goes up in about a day.