ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery を使用して特定のプロパティごとに配列内のオブジェクトをグループ化して合計するにはどうすればよいですか?

jQuery を使用して特定のプロパティごとに配列内のオブジェクトをグループ化して合計するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-17 09:30:03
オリジナル
671 人が閲覧しました

How Can I Group and Sum Objects in an Array by a Specific Property Using jQuery?

配列内のオブジェクトのグループ化と合計

jQuery でオブジェクトの配列を特定のプロパティでグループ化し、別のプロパティを合計するには、次のようにします。次の手順を利用できます:

1.ループとリデュース:
$.each() 関数を使用して配列を反復処理し、オブジェクトごとに、同じグループ化プロパティを持つオブジェクトが結果の配列に既に存在するかどうかを確認します。そうでない場合は、グループ化プロパティと初期数量 0 を使用して新しいオブジェクトを作成します。このオブジェクトを結果配列に追加します。

2.プロパティの合計:
ループ内で、合計したいプロパティの値 (例: qty) を現在のオブジェクトから結果配列内の対応するオブジェクトに追加します。これにより、各グループの数量が効果的に累積されます。

jQuery を使用したサンプル コードを次に示します。

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

var result = [];
$.each(array, function(i, obj) {
  var idx = result.findIndex(x => x.Id === obj.Id);
  if (idx === -1) {
    result.push({ Id: obj.Id, qty: 0 });
    idx = result.length - 1;
  }
  result[idx].qty += obj.qty;
});

console.log(result);
ログイン後にコピー

このコードは、次の出力をログに記録します。

[
  { Id: "001", qty: 3 },
  { Id: "002", qty: 2 },
  { Id: "003", qty: 4 }
]
ログイン後にコピー

これらの手順に従うことで、配列内のオブジェクトのプロパティを効果的にグループ化して合計することができ、データから貴重な洞察を抽出できるようになります。

以上がjQuery を使用して特定のプロパティごとに配列内のオブジェクトをグループ化して合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート