[
[{GOOD_NO: 1},{GOOD_NO: 1},{GOOD_NO: 1}],
[{GOOD_NO: 2},{GOOD_NO: 2}],
[],
[{GOOD_NO: 4}]
]
想要复制数组中第二条数据,并添加到尾部,并且修改新添加的数据中的GOOD_NO为5,即:
[
[{GOOD_NO: 1},{GOOD_NO: 1},{GOOD_NO: 1}],
[{GOOD_NO: 2},{GOOD_NO: 2}],
[],
[{GOOD_NO: 4}],
[{GOOD_NO: 5},{GOOD_NO: 5}],
]
可是只要遍历修改新添加的数据,被复制的那条数据也会跟着变,求代码求指点!
这是浅拷贝和深拷贝的知识点。
浅拷贝就是类似你这样的,源数据改变,目标数据也跟着改变。
深拷贝有几种方法:
(1)for循环实现数组的深拷贝或forEach循环
(2)concat 方法实现数组的深拷贝
(3)ES6扩展运算符实现数组的深拷贝。
(4)JSON.parse(JSON.stringify(arr)
楼主的数组是三维数组。比较复杂,需要多种方法配合。
假设