JavaScript での ID によるオブジェクトのマージ
JavaScript では、オブジェクトを効果的にマージして、複数のソースからのデータを結合できます。オブジェクトの配列を扱うときの一般的な課題は、ID と呼ばれることが多い特定のフィールドによってオブジェクトをマージすることです。
たとえば、次の配列があるとします。
var a1 = [{ id: 1, name: "test"}, { id: 2, name: "test2"}]; var a2 = [{ id: 1, count: "1"}, {id: 2, count: "2"}];
「id」フィールドに基づいてそれらを結合したいと考えています。その結果、以下:
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)}));
こちらでは、a1 内の各オブジェクト t1 を反復処理し、新しいオブジェクトを作成します。拡散演算子 (...) を使用して、t1 のプロパティを新しいオブジェクトに拡散します。
a2 内の一致するオブジェクトからプロパティを追加するには、find メソッドを使用して、一致する ' を持つオブジェクトを見つけます。 ID」。次に、この見つかったオブジェクトのプロパティを新しいオブジェクトに展開します。
このアプローチでは、2 つの配列のデータをエレガントに組み合わせて、望ましい結果を生成します。また、より複雑なシナリオをシームレスに処理するために拡張可能です。
以上がJavaScript オブジェクトを ID でマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。