Tom*_*Tom 17 javascript jquery
如何将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"
}
Run Code Online (Sandbox Code Playgroud)
我想拥有
{
"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"
}
}
Run Code Online (Sandbox Code Playgroud)
所以这两个对象都在一个对象下.我可能有两个以上的对象.
在jquery中创建每个对象.
我不知道如何开始这个.
ade*_*neo 58
jQuery的$ .extend会做你想要的.
//merging two objects into new object
var new_object = $.extend({}, object1, object2);
//merge object2 into object1
$.extend(object1, object2);
Run Code Online (Sandbox Code Playgroud)
anObj={'propone':'1', 'proptwo':'2'};
anotherObj={'propel':'11', 'proptlv':'12'};
var opts = {};
$.extend(opts, anObj, anotherObj, {
bar: "baz",
thing: "foo"
});
console.log(opts);
Run Code Online (Sandbox Code Playgroud)
如果您希望递归地合并它们,$.extend提供参数deep。万一deep=true合并变成递归的。上面的例子,
// Initialize two objects.
var json1 = { "a": { "a1": "value1", "a2": "value2" }};
var json2 = { "a": { "a3": "value3" }};
// Merge them recursively.
var newJson = $.extend(true, {}, json1, json2);
// Test it.
if (newJson.a.a1 && newJson.a.a3) {
console.log("Success");
}
Run Code Online (Sandbox Code Playgroud)
如果您想更新现有对象,请使用:
$.extend(obj1, obj2); //update obj1 and put all obj2 values in it.
Run Code Online (Sandbox Code Playgroud)
$.extend 将更改现有对象的值
要创建一个新的第三个对象(即两个对象的总和),您可以使用此函数
function merger_objects(obj1,obj2){
$.each(obj2, function(key, value) {
obj1[key] = value;
});
return obj1;
}
Run Code Online (Sandbox Code Playgroud)
例子
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"}
Run Code Online (Sandbox Code Playgroud)
你能把它们放在一个数组中吗?
var myObjects = [];
Run Code Online (Sandbox Code Playgroud)
在创建它们的每个地方只需添加:
myObjects.push(newObject);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34857 次 |
| 最近记录: |