ホームページ >ウェブフロントエンド >jsチュートリアル >ID に基づいて JavaScript オブジェクトを効率的にマージするにはどうすればよいですか?

ID に基づいて JavaScript オブジェクトを効率的にマージするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-29 20:22:15591ブラウズ

How to Efficiently Merge JavaScript Objects by ID?

ID による JavaScript オブジェクトのマージ

質問:

2 つの JavaScript を効率的にマージするにはどうすればよいですか共通の「id」プロパティに基づいたオブジェクトの配列。2 番目の配列からの追加データをまず?

例:

var a1 = [{ id: 1, name: "test" }, { id: 2, name: "test2" }]
var a2 = [{ id: 1, count: "1" }, { id: 2, count: "2" }]

必要な出力:

var a3 = [{ id: 1, name: "test", count: "1" }, { id: 2, name: "test2", count: "2" }]

解決策:

ES6 を使用すると、これを実現できます簡潔な解決策:

const a3 = a1.map(t1 => ({ ...t1, ...a2.find(t2 => t2.id === t1.id) }));

この解決策は、map() メソッドと find() メソッドを利用します:

  • map(): 各要素を反復処理します。 a1 に入力し、新しいオブジェクトを作成します。
  • find(): a1 の現在の要素と同じ「id」を持つオブジェクトを a2 で検索します。
  • Spread Operator ( ... ): a1 の現在の要素のプロパティをプロパティと結合します。

このメソッドは、「id」プロパティに基づいて a1 と a2 のオブジェクトを効果的にマージし、追加します。 a2 から a3 の結果オブジェクトへの追加プロパティ。

以上がID に基づいて JavaScript オブジェクトを効率的にマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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