js 数组的深拷贝

js数组、对象的深浅拷贝,真的是一个很复杂的问题。

如果是对象数组的话,处理起来又会更麻烦。

在遇到数据处理的时候,如果没注意到 深浅拷贝的问题,真的容易被带到沟里,怎么也找不到问题的所在。

而我今天,就遇到了这样的问题。每次操作,原数组都跟这变,让人很恼火。遂认定是深浅拷贝导致的问题。

我今天遇到的问题是,数组是对象数组,即类似下面这样的数组:

let a=[{a:1},{a:2}]

当我用 cancat() 和slice() 对数组进行深拷贝的时候,发现深拷贝根本没成功。实际上问题在于,数组里面的对象,没有被深拷贝出来。 也就是对这种复合型的数组的操作,需要更复杂的处理方式。

我最后是用jquery的深拷贝方法来解决的

$.extend(true,obj1,obj2)

猜你喜欢

转载自blog.csdn.net/peade/article/details/84995979