こんにちは!
今回は「Javascriptで、オブジェクトの配列をグループ別に集約する方法」についてお伝えしたいと思います。
オブジェクトの配列をグループ別にまとめて、簡単に取り出すことができます。
オブジェクトの配列をグループ別に集約する方法
実際に具体例を元に説明します。
例はgroup
番号を持った配列から、オブジェクトに変換します。
group
番号をkey
に設定し、value
にはデータを配列で追加しました。
const duplicateObj = {};
const dataArr = [
{userId: 100, group: 1, name: '太郎'},
{userId: 101, group: 2, name: '花子'},
{userId: 103, group: 1, name: 'りゅう'},
]
for (const data of dataArr) {
if (!duplicateObj[data.group]) {
duplicateObj[data.group] = [data];
} else {
duplicateObj[data.group].push(data);
}
}
for (const key of Object.keys(duplicateObj)) {
// グループ毎の処理などを実施
console.log(duplicateObj[key]);
// 出力
// [
// { userId: 100, group: 1, name: '太郎' },
// { userId: 103, group: 1, name: 'りゅう' }
// ]
// [ { userId: 101, group: 2, name: '花子' } ]
}
何かお役に立てれば幸いです。
以上、お疲れさまでした〜🍵