JavaScript Map.groupBy()

定義と使用方法

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

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

インスタンス

// 配列の作成
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 = Map.groupBy(fruits, myCallback);

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

注意

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

どちらのオブジェクトに対しても行われる変更は、もう一方のオブジェクトに反映されます。

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

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

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

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

文法

Map.groupBy(iterable, callback)

引数

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

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

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

返り値

タイプ 説明
Object グループ化された要素を含むMapオブジェクト。

ブラウザのサポート

Map.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 月