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

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

Linda Hamilton
リリース: 2024-12-08 22:06:12
オリジナル
286 人が閲覧しました

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

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