JavaScript Object.groupBy()

定義と使用法

Object.groupBy() メソッドはカールバック関数から返される文字列値に基づいてオブジェクトの要素をグループ化します。

Object.groupBy() メソッドは元のオブジェクトを変更しません。

注意

元のオブジェクトと返り値オブジェクトの要素は同じです。

どちらのオブジェクトに対しても変更が反映されます。

Object.groupBy()とMap.groupBy()の違い

Object.groupBy() および Map.groupBy() の違いは:

Object.groupBy() 要素をJavaScriptオブジェクトにグループ化します。

Map.groupBy() 要素をMapオブジェクトにグループ化します。

インスタンス

// 配列の作成
const fruits = [
  {name: "apples", quantity: 300},
  {name: "bananas", quantity: 500},
  {name: "oranges", quantity: 200},
  {name: "kiwi", quantity: 150}
];
// グループ化要素用のカールバック関数
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// 数量に基づいてグループ化
const result = Object.groupBy(fruits, myCallback);

自分で試してみてください

構文

Object.groupBy(iterable, callback)

引数

引数 説明
iterable 必要。可変長の配列またはMap。
callback

必要。各要素に対して実行される関数。

この関数は、要素のグループ名を返すべきです。

返り値

タイプ 説明
Iterator グループ化可能な要素を含む可変長オブジェクト。

ブラウザのサポート

Object.groupBy() ES2024の機能です。

2024年3月から、すべての現代ブラウザが完全にサポートしています:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
2023 年 9 月 2023 年 9 月 2023 年 10 月 2024 年 10 月 2023 年 5 月