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

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

Mary-Kate Olsen
リリース: 2024-12-07 09:14:16
オリジナル
353 人が閲覧しました

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

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