配列内のオブジェクトをグループ化する最も効率的な方法は何ですか?
たとえば、次のオブジェクト配列があるとします:
リーリーこの情報を表に表示しています。さまざまな方法でグループ化したいのですが、値を合計したいのです。
私は groupby 機能に Underscore.js を使用しています。これは非常に役立ちますが、SQL のように「分割」ではなく「マージ」したいので、問題全体を解決するわけではありません。 group
メソッドで。
(必要に応じて)特定の値の合計を計算できるようにしたいと考えています。
したがって、groupby Phase
を実行すると、次のものを受け取ることが期待されます:
グループ的な Phase
/ Step
を実行すると、次のメッセージが表示されます:
便利なスクリプトはありますか、それとも Underscore.js を使用して結果オブジェクトをループして自分で合計を計算する必要がありますか?
ES6 マップ オブジェクトの使用:
地図について: https://developer.mozilla.org/en-US /docs/Web/JavaScript/Reference/Global_Objects/Map
外部ライブラリの使用を避けたい場合は、単純に次のように
groupBy()
のプレーン バージョンを実装できます。