Hacker News new | ask | show | jobs
by shhsshs 1636 days ago
In JS you would also need to check if the key exists first (so you can add it). I think the minimal example would be:

    const groupByAge = {}
    for (const person in people) {
      if (!groupByAge[person.age]) {
        groupByAge[person.age] = []
      }
      groupByAge[person.age].push(person)
    }
IMO it is a very nice change to now be able to write:

    const groupByAge = people.groupBy(p => p.age)
1 comments

A reduce version seems quite okay to me though, and keeps it pretty functional-styled.

    const groupByAge = people.reduce((previous, current) => {
      if (!previous[current.age]) previous[current.age] = []
      previous[current.age].push(current)
      return previous
    }, {})