JavaScript オブジェクトのプロパティのマージ: 総合ガイド
JavaScript では、プロパティを 1 つのエンティティに結合するために 2 つのオブジェクトをマージする必要があることがよくあります。これは、複数のソースからのデータを操作する場合、または異なるモジュールからの構成オプションを組み合わせる場合に特に便利です。
組み込みメソッド
ECMAScript 2018: オブジェクト スプレッド
オブジェクトスプレッド演算子 (...) を使用すると、2 つ以上のオブジェクトを簡単に結合できます。構文は次のとおりです。
let merged = {...obj1, ...obj2};
結果として結合されたオブジェクトには、obj1 と obj2 の両方のプロパティがすべて含まれ、後のプロパティは以前のプロパティを上書きします。
ECMAScript 2015: Object .assign()
Object.assign(obj1, obj2);
スプレッドに似ています演算子、Object.assign() は、obj2 のプロパティを obj1 にマージします。ただし、obj1 は変更されて返されます。さらに、このメソッドを使用して複数のオブジェクトをマージできます。
ES5 およびそれ以前
互換性上の理由から、for-in ループを使用してオブジェクトをマージできます。
for (var attrname in obj2) { obj1[attrname] = obj2[attrname]; }
これは機能しますが、obj2 プロパティを obj1 に追加するだけで、既存のプロパティが上書きされる可能性があります。
カスタム マージ関数
マージ プロセスをさらに制御する必要がある場合は、カスタム関数を作成できます:
function merge_options(obj1, obj2) { var obj3 = {}; for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; } for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; } return obj3; }
これ関数は、obj1 と obj2 に基づいて新しいオブジェクトを作成し、マージ動作をカスタマイズする柔軟性を提供します。
以上がJavaScript オブジェクトを効率的にマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。