ホームページ  >  記事  >  ウェブフロントエンド  >  jQueryを使用してプロパティごとにオブジェクトの配列をグループ化して合計する方法?

jQueryを使用してプロパティごとにオブジェクトの配列をグループ化して合計する方法?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-17 07:51:03468ブラウズ

How to Group and Sum an Array of Objects by a Property Using jQuery?

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

問題

オブジェクトの配列が与えられた場合、目的は特定のオブジェクトによってグループ化することです。 jQuery を使用してグループごとに、Id などのプロパティを取得し、qty などの別のプロパティの合計を計算します。

次の入力配列を考えてみましょう:

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

望ましい出力は次のとおりです:

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

解決策

jQuery を使用して配列を ID でグループ化し、各グループの数量値を合計するには、次のアプローチを使用できます。

$(array).groupBy('Id').reduce(function (res, obj) {
  return res + obj.qty;
}, 0);

ソリューションの内訳は次のとおりです:

  • jQuery の groupBy プラグイン: このプラグインは、指定されたプロパティ ID に基づいてオブジェクトの配列をグループ化します。一意の ID 値に対応するプロパティ キーを持つオブジェクトを返します。
  • jQuery のreduce メソッド: このメソッドは、グループ化されたオブジェクトを反復処理し、指定されたコールバック関数を適用して数量値の合計を計算します。グループごとに。この場合、コールバック関数は各オブジェクトの qty プロパティをアキュムレータに単純に追加します。

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

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