ホームページ >ウェブフロントエンド >jsチュートリアル >Lodash を使用して、ネストされたキーによってオブジェクトの配列を効率的にグループ化するにはどうすればよいですか?
特定の名前を持つキーをネストしてオブジェクトの配列をグループ化
このクエリは、特定の名前に基づいてオブジェクトをグループ化することにより、オブジェクトの配列を変更しようとします。キー名を指定し、ネストされたオブジェクトで目的の出力を生成します。
これを実現するには、カスタムgroupAndMapという関数を利用します。 Lodash ライブラリの _.map と _.groupBy の組み合わせを利用します。仕組みの詳細は次のとおりです。
function groupAndMap(items, itemKey, childKey, predic){ return _.map(_.groupBy(items,itemKey), (obj,key) => ({ [itemKey]: key, [childKey]: (predic && predic(obj)) || obj })); }
必要なネストされた出力を作成するには、コード スニペットで関数が 2 回使用されます。
var result = groupAndMap(items,"tab","sections", arr => groupAndMap(arr,"section", "items"));
最初の呼び出しでは、オブジェクトを「tab」キーでグループ化し、その結果、「tab」プロパティと「sections」プロパティを持つオブジェクトの配列が作成されます。次に、zweite 呼び出しは、各セクション内のオブジェクトを「section」キーでグループ化し、オブジェクトが「tab」でグループ化され、次に「section」でグループ化される、目的のネストされた出力を生成します。
以上がLodash を使用して、ネストされたキーによってオブジェクトの配列を効率的にグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。