Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中合并两个多维对象_Javascript_Jquery_Angularjs - Fatal编程技术网

在javascript中合并两个多维对象

在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

----对象1----

----对象2----

-----预期产量--------


我认为您正在寻找一种方法,该方法将返回一个新对象,其属性被您传入的对象覆盖

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)