ホームページ >ウェブフロントエンド >jsチュートリアル >オブジェクトキーを反復せずにキーに基づいて 2 つのオブジェクト配列を効率的にマージする方法

オブジェクトキーを反復せずにキーに基づいて 2 つのオブジェクト配列を効率的にマージする方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-29 02:43:14360ブラウズ

How to Efficiently Merge Two Object Arrays Based on a Key Without Iterating Object Keys?

オブジェクト キーを反復せずにキーに基づいてオブジェクト配列を結合する

2 つのオブジェクト配列があるシナリオを考えてみましょう:

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

const array2 = [
  { 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" }
]

オブジェクト キーのループを使用せずにこれを効率的に実現するには、map() 関数を利用できます:

const mergedArray = array1.map((item, index) => Object.assign({}, item, array2[index]));

このアプローチでは Object.assign() を使用します。メソッドを使用して、両方の配列の対応するオブジェクトのプロパティを新しい結合オブジェクトに結合し、結合されたオブジェクトがmergedArray に蓄積されます。

結果の結合された配列これは、オブジェクト キーに対する反復ループを必要とせずに、共有 ID キーに基づいてプロパティを組み合わせるという要件を満たします。

以上がオブジェクトキーを反復せずにキーに基づいて 2 つのオブジェクト配列を効率的にマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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