ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript オブジェクトを効率的にマージするにはどうすればよいですか?

JavaScript オブジェクトを効率的にマージするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-21 15:55:11
オリジナル
722 人が閲覧しました

How Can I Efficiently Merge JavaScript Objects?

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

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