ホームページ >ウェブフロントエンド >jsチュートリアル >明示的なキーの反復を行わずに、共有キーに基づいてオブジェクトの 2 つの配列をマージするにはどうすればよいですか?

明示的なキーの反復を行わずに、共有キーに基づいてオブジェクトの 2 つの配列をマージするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-08 22:06:12314ブラウズ

How Can I Merge Two Arrays of Objects Based on a Shared Key Without Explicit Key Iteration?

キーに基づいたオブジェクトの配列のマージ

目的

このタスクは、共通のキーに基づいて、反復処理せずに 2 つのオブジェクトの配列をマージすることです。

例シナリオ

次の 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 キーに基づいてこれらの配列をマージすることです:

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

反復処理を行わないソリューションKeys

オブジェクトを反復処理せずにこれを達成するにはkey:

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);

このコードは、Object.assign() メソッドを使用して、両方の配列の同じインデックスにあるオブジェクトのプロパティをマージします。結果は、両方の配列のプロパティを組み合わせた新しい配列です。

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

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