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

共通キーに基づいて 2 つのオブジェクト配列を効率的にマージするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-07 09:14:16328ブラウズ

How Can I Efficiently Merge Two Arrays of Objects Based on a Common Key?

共通キーを使用したオブジェクトの配列のマージ

オブジェクトの 2 つの配列を考えます。

Array 1:
[
  { id: "abdc4051", date: "2017-01-24" },
  { id: "abdc4052", date: "2017-01-22" }
]
Array 2:
[
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
]

これらの配列を以下に基づいてマージするにはid プロパティの場合、簡潔な解決策は、map() 関数を利用することです。 Object.assign().

map() を利用して、配列 1 を繰り返し処理します。オブジェクトごとに、配列 1 と配列 2 の同じインデックスにある両方のオブジェクトのプロパティを組み合わせた新しいオブジェクトを作成します。この新しいオブジェクトは arr3 に保存されます。

let arr1 = [
  { id: "abdc4051", date: "2017-01-24" },
  { id: "abdc4052", date: "2017-01-22" }
];

let arr2 = [
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
];

let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));

console.log(arr3);

これにより、望ましい結果が得られます:

[
  { id: "abdc4051", date: "2017-01-24", name: "ab" },
  { id: "abdc4052", date: "2017-01-22", name: "abc" }
]

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

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