≪ Today I learned. RSS購読
公開日
タグ
JavaScript
著者
ダーシノ(@bc_rikko)

Array#group()とArray#groupToMap()

lodashのGroupByのようなメソッドで簡単にグループできるProposalが提案されている。

const items = [
  { type: 'foo', name: '001' },
  { type: 'bar', name: '002' },
  { type: 'foo', name: '003' },
  { type: 'baz', name: '004' },
]

const result = items.group(({ type }) => type)
/**
{
  foo: [
    { type: 'foo', name: '001' },
    { type: 'foo', name: '003' },
  ],
  bar: [
    { type: 'bar', name: '002' },
  ],
  baz: [
    { type: 'baz', name: '004' },
  ]
}
*/

const map = items.groupToMap(({ type }) => type)
map.get('foo')