js 数组的深度拷贝 的四种实现方法

首先声明本人资质尚浅,本文只用于我的总结。若有错误,欢迎指正、共同提升。es6

-----------------------------------------------------------------------------------数组

 
var ary1=[1,2];
 
es5:
方法一:适用  单层 数组嵌套的深拷贝
var ary2 = ary1.concat();
 
方法二:适用  多层 数组嵌套的深拷贝
var ary2 = JSON.parse(JSON.stringify(ary1));
  //此方法适用于Oject的深度拷贝,由于Array属于Oject类型,因此也适用于此处;
  //须要注意的是:做为Oject的深度拷贝时,要复制的function会直接消失,因此这个方法只能用在单纯只有数据的对象。
 
 
es6:
// 方法三:适用  单层 数组嵌套的深拷贝
var ary2 = [...ary1];
 
// 方法四:适用  单层 数组嵌套的深拷贝
var [...ary2] = ary1;
 
 
 
 

若有错误,欢迎评论指正、共同提升。[握手]    post

欢迎转载,转载请注明:转载自[ http://www.cnblogs.com/juneling ]es5

相关文章
相关标签/搜索