ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript オブジェクトの配列内の類似したキーの値を集計するにはどうすればよいですか?

JavaScript オブジェクトの配列内の類似したキーの値を集計するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-24 19:23:20969ブラウズ

How to Aggregate Values for Similar Keys in an Array of JavaScript Objects?

オブジェクトの配列内の類似したキーの値を集計する

与えられたオブジェクトの配列。各オブジェクトは「name」という名前のキーを所有します。および対応する値のタスクは、オブジェクトを「名前」でグループ化し、その「値」プロパティを蓄積することです。たとえば、次の配列がある場合:

[
    { 'name': 'P1', 'value': 150 },
    { 'name': 'P1', 'value': 150 },
    { 'name': 'P2', 'value': 200 },
    { 'name': 'P3', 'value': 450 }
]

必要な出力は次のようになります:

[
    { 'name': 'P1', 'value': 300 },
    { 'name': 'P2', 'value': 200 },
    { 'name': 'P3', 'value': 450 }
]

この集計を実現するには、次のような反復アプローチを採用できます。

  1. 名前と値のペアを保持するオブジェクトの作成: 開始空のオブジェクトを作成することによって。このオブジェクトは、オブジェクトの名前と値のペアを保存するために使用されます。
  2. 配列を反復処理して値を蓄積する: forEach を使用してオブジェクトの配列を反復処理します。オブジェクトごとに、オブジェクトの「name」プロパティがプロパティとして保持オブジェクトに存在するかどうかを確認します。存在する場合は、オブジェクトの「value」プロパティを既存の値に追加します。存在しない場合は、「name」プロパティの値をオブジェクトの「value」プロパティに設定します。
  3. 集約されたオブジェクトを含む新しい配列を作成します: すべての値が蓄積されたら、保持しているオブジェクトを取得するには、新しい配列を作成します。保持しているオブジェクトのプロパティを反復処理し、「名前」プロパティと「値」プロパティを持つ新しいオブジェクトを配列にプッシュします。

この反復アプローチにより、同じ「名前」を持つオブジェクトが確実にグループ化され、それに応じて、その「値」プロパティが蓄積されます。

以上がJavaScript オブジェクトの配列内の類似したキーの値を集計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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