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

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

DDD
リリース: 2024-11-29 20:22:15
オリジナル
579 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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