js 数组的对象和数组的浅拷贝和深拷贝

数组

浅拷贝:不仅拷贝值也拷贝引用,比如concat,slice ,利用了他们返回新数组的特性
神拷贝:只拷贝值    方法:

var arr = ['old', 1, true, ['old1', 'old2'], {old: 1}] var new_arr = JSON.parse(JSON.stringify(arr)) console.log(new_arr);

对象:也一样
浅拷贝,因为 Object.assign()拷贝的是属性值。假如源对象的属性值是一个指向对象的引用,它也只拷贝那个引用值。
深拷贝:跟数组一样,还是用json.parse(json.stringify)


在vue 编程的时候,一定要防止浅拷贝,要不然,数据变了,都找不到哪改变的。

深拷贝:还是用json.parse(json.stringify)



参考文章

猜你喜欢

转载自blog.csdn.net/github_39319000/article/details/86625127