从javascript函数创建多个数组
我试图在每次运行此函数时创建一个单独的数组,目前它似乎每次运行时都会在函数上写入 我该怎么做呢?谢谢你的帮助从javascript函数创建多个数组,javascript,arrays,Javascript,Arrays,我试图在每次运行此函数时创建一个单独的数组,目前它似乎每次运行时都会在函数上写入 我该怎么做呢?谢谢你的帮助 <script> var a = [[4,1,2],[3,7,9],[2,3,5]]; function swap(x,y,m,n){ var src=x; var dest = y; var tmp = a[x][y]; a[x][y] = a[m][n]; a[m][n] = tmp; newArray = new Arr
<script>
var a = [[4,1,2],[3,7,9],[2,3,5]];
function swap(x,y,m,n){
var src=x;
var dest = y;
var tmp = a[x][y];
a[x][y] = a[m][n];
a[m][n] = tmp;
newArray = new Array(a);
return newArray;
}
var tmp1 = new Array(swap(1,0,0,0));
var tmp2 = new Array(swap(1,0,2,0));
document.write(tmp1 + "<br>" + tmp2 + " <br>" + a);
</script>
在函数内声明一个变量b,该变量用作数组a的临时副本,防止在函数期间对其进行更改
<script>
var a = [[4,1,2],[3,7,9],[2,3,5]];
function swap(x,y,m,n){
var b = a;
var src=x;
var dest = y;
var tmp = b[x][y];
b[x][y] = b[m][n];
b[m][n] = tmp;
newArray = new Array(b);
return newArray;
}
var tmp1 = new Array(swap(1,0,0,0));
var tmp2 = new Array(swap(1,0,2,0));
document.write(tmp1 + "<br>" + tmp2 + " <br>" + a);
</script>
在修改阵列之前克隆阵列。基本上,您可以在函数中更改顺序。