20

jqueryオブジェクトをマージするにはどうすればよいですか

私は持っている

 {
  "merchantcontract":"Ready Reserve Foods 10104.01",
  "merchantcontractid":"c4253769-5a57-e111-b935-00155d010302",
  "smi_transactiondate":"\/Date(1332140400000)\/",
  "smi_glamount2":15.2600,
  "smi_transactionclass":180870001,
  "smi_transactionclassname":"Residual Agent Commission",
  "smi_contractprodcutidname":"Traditional",
  "smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
  "smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
 },

 {
  "merchantcontract":"Ready Reserve Foods 10104.01",
  "merchantcontractid":"c4253769-5a57-e111-b935-00155d010302",
  "smi_transactiondate":"\/Date(1332140400000)\/",
  "smi_glamount2":2.6000,
  "smi_transactionclass":180870001,
  "smi_transactionclassname":"Residual Agent Commission",
  "smi_contractprodcutidname":"Traditional",
  "smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
  "smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
     }

私はを頂きたい

     {
      "merchantcontract":"Ready Reserve Foods 10104.01",
      "merchantcontractid":"c4253769-5a57-e111-b935-00155d010302",
      "smi_transactiondate":"\/Date(1332140400000)\/",
      "smi_glamount2":15.2600,
      "smi_transactionclass":180870001,
      "smi_transactionclassname":"Residual Agent Commission",
      "smi_contractprodcutidname":"Traditional",
      "smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
      "smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
      },

       {
      "merchantcontract":"Ready Reserve Foods 10104.01",
      "merchantcontractid":"c4253769-5a57-e111-b935-00155d010302",
      "smi_transactiondate":"\/Date(1332140400000)\/",
      "smi_glamount2":2.6000,
      "smi_transactionclass":180870001,
      "smi_transactionclassname":"Residual Agent Commission",
      "smi_contractprodcutidname":"Traditional",
      "smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
      "smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
       }

    {"merchantcontract":"Ready Reserve Foods 10104.01"{

      "merchantcontractid":"c4253769-5a57-e111-b935-00155d010302",
      "smi_transactiondate":"\/Date(1332140400000)\/",
      "smi_glamount2":15.2600,
      "smi_transactionclass":180870001,
      "smi_transactionclassname":"Residual Agent Commission",
      "smi_contractprodcutidname":"Traditional",
      "smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
      "smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
   },
   {

      "merchantcontractid":"c4253769-5a57-e111-b935-00155d010302",
      "smi_transactiondate":"\/Date(1332140400000)\/",
      "smi_glamount2":2.6000,
      "smi_transactionclass":180870001,
      "smi_transactionclassname":"Residual Agent Commission",
      "smi_contractprodcutidname":"Traditional",
      "smi_agentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5",
      "smi_primaryagentid":"1d3f44ee-afc3-e011-addf-a4badb1ddef5"
   }
}

したがって、両方のオブジェクトが 1 つのオブジェクトの下にあります。オブジェクトが 3 つ以上ある場合があります。

オブジェクトはjqueryでそれぞれ作成されます。

これを開始する方法がわかりません。

4

5 に答える 5

65

jQuery の$.extendは、あなたが望むことを行います。

//merging two objects into new object
var new_object = $.extend({}, object1, object2);

//merge object2 into object1
$.extend(object1, object2);
于 2012-04-12T20:08:36.767 に答える
4

既存のオブジェクトを更新する場合は、次を使用します。

$.extend(obj1, obj2); //update obj1 and put all obj2 values in it.

$.extend は、既存のオブジェクトの値を変更します

両方のオブジェクトの合計である新しい 3 番目のオブジェクトを作成するには、この関数を使用できます。

function merger_objects(obj1,obj2){
  $.each(obj2, function(key, value) {
     obj1[key] = value;    
  });
 return obj1;
}

var fruit = {apple:"sweet",graps:"bitter"}
var vege = {cucamber:"bitter",letuce:"bitter"}

var fruit_and_vege = merger_objects(fruit,vege); 
//returns {apple:"sweet",graps:"bitter",cucamber:"bitter",letuce:"bitter"}
于 2018-07-21T16:36:36.650 に答える
0

それらを配列に入れることができますか?

var myObjects = [];

そして、それらが作成されたそれぞれの場所に次を追加するだけです:

myObjects.push(newObject);
于 2012-04-12T20:07:56.677 に答える