javascript オブジェクトの配列からプロパティでgroup byする

javascript オブジェクトの配列からプロパティでgroup byする

javascriptで、オブジェクトの配列からプロパティでgroup byするサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 104.0.5112.81

プロパティでgroup by

プロパティで「group by」するには、「reduce」を使って指定したプロパティによりグルーピングしていきます。

const arr = [
  { name: 'taro', age: 20 },
  { name: 'jiro', age: 20 },
  { name: 'saburo', age: 30 },
  { name: 'siro', age: 20 },
  { name: 'goro', age: 35 },
  { name: 'rokuro', age: 35 }
];

const result = arr.reduce((group, p) => {  

  group[p.age] = group[p.age] ?? [];
  
  group[p.age].push(p);

  return group;

}, {});

console.log( result );

実行結果