使用JQuery深度复制数组无法复制对象数组

时间:2018-09-27 05:53:14

标签: javascript jquery

以下是我的用例 我有对象ab具有以下结构

 a={arr1:[obj1={x1:1,x2:2}, obj2={x1:4,x2:4}] , arr2:[obj1={x3:55,x4:66},obj2= 
     {x3:77,x4:88}]}


 b={arr1:[obj1={x1:1,x2:2}, obj2={x1:4,x2:4},obj3={x1:44,x2:46}] , arr2:[obj1= 
     {x3:55,x4:66},obj2={x3:77,x4:88},obj1={x3:34,x4:45}]}

我想将a的内容复制到b

我尝试使用b=$.extend(true,b,a)

a的内容未复制到b中。对象b保持不变。 b的JSON格式输出如下。

{"arr1":[{"x1":1,"x2":2},{"x1":4,"x2":4},{"x1":44,"x2":46}],"arr2":[{"x3":55,"x4":66},{"x3":77,"x4":88},{"x3":34,"x4":45}]}

那么复制数组内容的方法是什么。

1 个答案:

答案 0 :(得分:0)

这样,您可以将对象数组连接到另一个对象中。

我认为这很简单。有什么问题吗在评论中问我:)

array1 = [{x:10, y:15}, {x:17, y:15}, {x:17, y:13}];
array2 = [{x:20, y:29}, {x:21, y:25}, {x:27, y:22}];
for(i=0; array1.length>i; i++){
  array2.push(array1[i]);
}
console.log(array2);