jQuery

[jQuery] オブジェクトをマージする($.extend)

投稿日:2017年6月24日 更新日:

オブジェクトをマージするには、$.extend()を使用します。

サンプルソース

例1)obj1にobj2の値をマージする

(結果)
obj1 => {cd: 2, name: "きゅうり", price: 198, number: 25}

上記例の通り、extendの引数にマージするオブジェクトのみ指定した場合は、第1引数のオブジェクトの内容がマージされたものに書き換えられてしまいます。 これを防ぐには、第1引数に空のオブジェクトを指定すればOKです。

例2)obj1にobj2の値をマージして、obj3に代入する

(結果)
obj3 => {cd: 2, name: "きゅうり", price: 198, number: 25}

この方法だと、obj1とobj2の値は上書きされずそのままです。

解説

  • マージすると、無いkeyの場合は作成され、存在するkeyの場合は上書きされます。
  • extendにの引数には複数のオブジェクトを指定することが可能です。
  • 再帰的なオブジェクト(オブジェクトのオブジェクト)をextendすると、マージではなく上書きされてしまいます。これを防ぐためには第1引数にtrueを指定すれば再帰的なオブジェクトでもマージされます。
    例)$.extend(true, obj1, obj2);

スポンサーリンク

スポンサーリンク

-jQuery
-,

執筆者:



comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク