1.js中浅拷贝适用于一维数组,深度拷贝适用于二维数组,其中改变拷贝的数组不改变被拷贝的数组表现为深度拷贝。
2.一般拷贝相当于是拷贝一个指针,指向同一个数组,深度拷贝就是改变指针的方向。
3.将拷贝的源文件封装为一个函数,可以在之后使用时直接调用这个函数 就可以生成一个新的数组。
<script>
var arr=[[1,2,3],4,5,6,[7,8,9]];
function copy(arr){
var brr=[];
for(var i=0;i<arr.length;i++){
if(isNaN(arr[i])){
brr[i]=new Array();
for( j=0;j<arr[i].length;j++){
brr[i][j]=arr[i][j];
}
}
else{
brr[i]=arr[i];
}
}
return brr;
}
c=copy(arr)
c[0][1]=1
document.write(arr+"<br/>"+c);
</script>