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

ES6 を使用して ID ごとに JavaScript オブジェクトを効率的にマージするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-12 14:55:14756ブラウズ

How Can I Efficiently Merge JavaScript Objects by ID Using ES6?

ID による JavaScript オブジェクトのマージ: 総合ガイド

識別子 (ID) によるオブジェクトのマージは、JavaScript プログラミングでよく行われるタスクです。異なるソースからのデータを組み合わせる場合。このガイドでは、簡潔な ES6 構文を使用した効率的なソリューションを紹介します。

解決策:

ID フィールドに基づいてオブジェクトの 2 つの配列をマージするには、次を使用できます。アプローチ:

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

説明:

  • map() メソッドは、最初の配列 (a1) を反復処理します。
  • それぞれa1 のオブジェクト t1 をコピーするには、スプレッド演算子 (...) を使用して新しいオブジェクトを作成します。プロパティ。
  • 2 番目の配列 (a2) で find() を使用して、t1 に一致する ID を持つオブジェクトを検索します。
  • 見つかったオブジェクトのプロパティは、次を使用して新しいオブジェクトにコピーされます。スプレッド演算子。

例使用法:

質問で提供されている配列の例を考えてみましょう:

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 スプレッド演算子を効率的に使用します。
  • 結合されたオブジェクト内の既存のプロパティと欠落しているプロパティの両方を処理します。

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

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