ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript でオブジェクトの配列をキーごとにグループ化して合計する方法

JavaScript でオブジェクトの配列をキーごとにグループ化して合計する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-23 03:33:22559ブラウズ

How to Group and Sum an Array of Objects by a Key in JavaScript?

キーによるオブジェクトの配列のグループ化と合計

JavaScript では、特定のキーと合計によってオブジェクトの配列をグループ化できます。 jQuery の強力なツールを使用して、そのキーに関連付けられた値を取得します。これを実現する方法は次のとおりです。

var array = [
  { Id: '001', qty: 1 },
  { Id: '002', qty: 2 },
  { Id: '001', qty: 2 },
  { Id: '003', qty: 4 }
];

ループと合計

効果的な方法の 1 つは、配列を反復処理し、reduce() メソッドを使用して値を蓄積することです。 。このメソッドは、配列を単一の値 (この場合はグループ化された値を表すオブジェクト) に減らすコールバック関数を受け取ります。

var result = [];
array.reduce(function (res, value) {
  if (!res[value.Id]) {
    res[value.Id] = { Id: value.Id, qty: 0 };
    result.push(res[value.Id]);
  }
  res[value.Id].qty += value.qty;
  return res;
}, {});

出力:

[
  { Id: '001', qty: 3 },
  { Id: '002', qty: 2 },
  { Id: '003', qty: 4 }
]

このソリューションは、Id キーによってオブジェクトを効率的にグループ化し、対応する数量値を合計し、グループ化され合計されたオブジェクトの配列を生成します。値。

以上がJavaScript でオブジェクトの配列をキーごとにグループ化して合計する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。