【JavaScript ECMAScript】Map::Map.groupBy静的メソッドの使い方
Map.groupBy()静的メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Map.groupBy()メソッドは、反復可能オブジェクト(例えば配列)の要素を特定の条件に基づいてグループ化し、その結果を新しいMapオブジェクトとして生成するメソッドです。このメソッドは、元の反復可能オブジェクトと、各要素をどのグループに属させるかを決定するためのコールバック関数の2つの引数を受け取ります。コールバック関数は、反復可能オブジェクトの各要素に対して実行され、その戻り値が新しいMapオブジェクトのキーとして使用されます。同じキーを生成するすべての要素は、配列としてそのキーに対応するMapの値にまとめられます。
例えば、ユーザーのリストを年齢でグループ分けしたり、商品のリストをカテゴリごとに整理したりするなど、大量のデータを特定の基準で分類し、整理された形で利用したい場合に非常に役立ちます。Mapオブジェクトはキーとして任意のデータ型を受け入れることができるため、文字列、数値、オブジェクトなど、柔軟なグループ化が可能です。これにより、複雑なデータ構造も直感的かつ効率的に扱うことができ、データの管理や分析をよりシンプルにします。システム開発において、データの加工や集計を行う際の基本的な機能として幅広く活用できます。
構文(syntax)
1const items = [{ id: 1, type: 'A' }, { id: 2, type: 'B' }, { id: 3, type: 'A' }]; 2const groupedMap = Map.groupBy(items, (item) => item.type);
引数(parameters)
items, callbackFn
- items: any[]: グループ化する対象の要素の配列
- callbackFn: (item: any, index: number) => string | symbol: 各要素をどのようにグループ化するかを定義する関数。この関数は、要素とそのインデックスを受け取り、グループのキーとなる文字列またはシンボルを返します。
戻り値(return)
Map
指定された条件に基づいて、JavaScriptのMap.groupBy()メソッドの戻り値について説明します。
Map.groupBy()メソッドは、元の配列の要素を、指定されたコールバック関数によって生成されたキーでグループ化し、その結果を新しいMapオブジェクトとして返します。このMapオブジェクトのキーはグループ化の基準となり、値は各グループに属する要素の配列となります。