jQuery.extend( target [, object1 ] [, objectN ] )
ターゲット オブジェクト (最初の引数) が変更され、 からも返されることに注意して$.extend()
ください。
ただし、元のオブジェクトの両方を保持したい場合は、空のオブジェクトをターゲットとして渡すことで実行できます。
var object = $.extend({}, object1, object2);
例:
var object1 = {
apple: 0,
banana: { weight: 52, price: 100 },
cherry: 97
};
var object2 = {
banana: { price: 200 },
durian: 100
};
// Merge object2 into object1
$.extend( object1, object2 );
出力は次のとおりです。
{"apple":0,"banana":{"price":200},"cherry":97,"durian":100}
説明:
によって実行されるマージ$.extend()
は、デフォルトでは再帰的ではありません。最初のオブジェクトのプロパティ自体がobject
orarray
である場合、2 番目以降のオブジェクトの同じキーを持つプロパティによって完全に上書きされます。
値はマージされません。これは、次の例で の値を調べることで確認できますbanana
。ただし、関数の最初の引数を渡すことtrue
で、オブジェクトは再帰的にマージされます。
参考:http ://api.jquery.com/jQuery.extend/