在javascript中合并两个多维对象
----对象1---- ----对象2---- -----预期产量--------在javascript中合并两个多维对象,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,----对象1---- ----对象2---- -----预期产量-------- 我认为您正在寻找一种方法,该方法将返回一个新对象,其属性被您传入的对象覆盖 var sib3 = Object.assign({},sib1, sib2); 另一种可能性是,您希望sib3成为一个数组,那么您可以这样做 sib3 = [sib1, sib2] var sib1={ fname:‘sangram’, 名称:“jadha”, 图片:'male.jpg', id:'1', } 变量sib2={ f
我认为您正在寻找一种方法,该方法将返回一个新对象,其属性被您传入的对象覆盖
var sib3 = Object.assign({},sib1, sib2);
另一种可能性是,您希望sib3
成为一个数组,那么您可以这样做
sib3 = [sib1, sib2]
var sib1={
fname:‘sangram’,
名称:“jadha”,
图片:'male.jpg',
id:'1',
}
变量sib2={
fname:'山姆',
名称:“jad”,
图片:'male.jpg',
id:'2',
}
var sib3=Object.assign({},sib1,sib2);
console.log(sib3)
var sib1={
fname:‘sangram’,
名称:“jadha”,
图片:'male.jpg',
id:'1',
};
变量sib2={
fname:'山姆',
名称:“jad”,
图片:'male.jpg',
id:'2',
};
var-sib3=[];
sib3.推送(sib1);
sib3.推送(sib2);
log(JSON.stringify(sib1)+“,”+JSON.stringify(sib2))代码>您只需将对象一个接一个地推入sib3即可
sib3 = new Array();
sib3.push(sib1);
sib3.push(sib2);
如果要查找从不同的单个对象派生的对象数组,则必须执行此操作 您可以使用array#push
获取数组
var sib1={
fname:‘sangram’,
名称:“jadha”,
图片:'male.jpg',
id:'1',
}
变量sib2={
fname:'山姆',
名称:“jad”,
图片:'male.jpg',
id:'2',
}
var-sib3=[];
sib3.推送(sib1);
sib3.推送(sib2);
console.log(sib3)代码>创建一个新对象,其中sib1和sib2是该对象的属性
var sib1 = {
fname: 'sangram',
lname: 'jadha',
image: 'male.jpg',
id: '1',
};
var sib2 = {
fname: 'sam',
lname: 'jad',
image: 'male.jpg',
id: '2',
};
var sib3 = {sib1: sib1, sib2: sib2}
但是,结果对象也不是您所要寻找的对象,并且使该对象完全不可能。因为它无效。无效对象var sib3={name:'sangram',lname:'jadha',image:'male.jpg',id:'1',},{fname:'sam',lname:'jad',image:'male.jpg',id:'2',}
此对象sib3的格式无效,不能使用这样的对象
写入该对象的有效格式如下:
var sib3 = [{name: 'sangram',lname: 'jadha',image: 'male.jpg',id: '1',},{ fname: 'sam', lname: 'jad',image: 'male.jpg',id: '2',}]
要获取相同的(有效格式数组),请使用以下代码:
var sib1 = { fname: 'sangram', lname: 'jadha', image: 'male.jpg', id: '1' }
var sib2 = { fname: 'sam', lname: 'jad', image: 'male.jpg', id: '2' }
var sib3 =[];
sib3.push(sib1);
sib3.push(sib2);
console.log(sib3)
若您仍然希望对象看起来像所讨论的那个样,那个么它将是字符串类型,而不是对象类型。请参见以下代码行:
var sib1={fname:'sangram',lname:'jadha',image:'male.jpg',id:'1'}
var sib2={fname:'sam',lname:'jad',image:'male.jpg',id:'2'}
var-sib3=[];
sib3.推送(sib1);
sib3.推送(sib2);
var newobjastring=JSON.stringify(sib3).substring(1,JSON.stringify(sib3).length-1);
log(newObjAsString)
看看这个问题:还有一个jQuery解决方案。我肯定您不想要这个输出。你是说它是一个数组吗?根据我,你的预期输出是不可能的。您可以有一个对象数组,但是var sib3={..},{..}在我看来似乎是无效的,我认为所有回答过这类问题的人都应该和提问者一起被否决。回答这样一个问题时,如果没有一个单一的努力,甚至没有适当的输出应该被劝阻。这将是臭名昭著的,但伟大的,以防止新用户回答一个问题,如果它有一个负面的分数。事实上,新用户正在挖掘声誉,并会试图回答任何令人讨厌的问题。这给了他们一种有用的错觉,最终他们的声誉不会提升。我尝试过这个,但它给了我这样的输出。[{fname:“S”,lname:“1”,image:,id:“8”},{fname:“S”,lname:“2”,image:,id:,id:“9”}我不想在输出中使用sqaure([])括号,在你回答的评论中说,对象不可能看起来像你的sib3
这样的存在是没有意义的,请看看javascript类型,谢谢:)我正在使用d3.js。这里所需的对象以“{”开始,以“}”结束,然后您要寻找的是将两个对象合并在一起,并拥有另一个对象(查看代码段),或者您需要在d3中使用一个方法,该方法允许创建一个对象数组(需要这些“方括号”)@SangramJadhav如果问题是关于d3.js的,为什么jquery和angularjs在标签中?请相应地更新你的问题,这样人们就不会急于给出错误的答案。我需要没有正方形的物体backets@SangramJadhav-您的预期输出无效听起来像是要将无效对象创建为有效对象。@SangramJadhav-console.log(JSON.stringify(sib1)+“,+JSON.stringify(sib2));会带来你预期的结果。请查收
var sib1 = {
fname: 'sangram',
lname: 'jadha',
image: 'male.jpg',
id: '1',
};
var sib2 = {
fname: 'sam',
lname: 'jad',
image: 'male.jpg',
id: '2',
};
var sib3 = {sib1: sib1, sib2: sib2}
var sib3 = [{name: 'sangram',lname: 'jadha',image: 'male.jpg',id: '1',},{ fname: 'sam', lname: 'jad',image: 'male.jpg',id: '2',}]
var sib1 = { fname: 'sangram', lname: 'jadha', image: 'male.jpg', id: '1' }
var sib2 = { fname: 'sam', lname: 'jad', image: 'male.jpg', id: '2' }
var sib3 =[];
sib3.push(sib1);
sib3.push(sib2);
console.log(sib3)