问题描述
我设置了两个数组 - arr1 和 arr2,每个数组都有两个维度。我成功地将 arr2[1] 插入索引 1 处的 arr1。当我设置 arr[1][1]=0 的值时,它也会将源元素 arr2[1][1] 更改为 0 而不是保持为 9。为什么?如何断开源阵列与目标阵列 (arr1) 的连接。
我尝试将 tmp 变量设置为等于源行,将 tmp 变量拼接到 arr1 中。当我对 arr[1][1] 进行更改时,所有三个都被更改了。我很困惑!
function test () {
var arr1 = new Array(2);
arr1[0] = new Array (2);
arr1[0][0] = 0;
arr1[0][1] = 1;
arr1[1] = new Array (2);
arr1[1][0] = 2;
arr1[1][1] = 3;
var arr2 = new Array(2);
arr2[0] = new Array (2);
arr2[0][0] = 6;
arr2[0][1] = 7;
arr2[1] = new Array (2);
arr2[1][0] = 8;
arr2[1][1] = 9;
Logger.log("BEFORE: arr1[1][1]="+arr1[1][1]+" arr2[1][1]="+arr2[1][1]);
arr1.splice(1,arr2[1]);
Logger.log("AFTER: arr1[1][1]="+arr1[1][1]+" arr2[1][1]="+arr2[1][1]);
arr1[1][1] = 0;
Logger.log("FINAL: arr1[1][1]="+arr1[1][1]+" arr2[1][1]="+arr2[1][1]);
} //end function test
RESULTS:
5:02:40 PM Notice Execution started
5:02:40 PM Info BEFORE: arr1[1][1]=3 arr2[1][1]=9
5:02:40 PM Info AFTER: arr1[1][1]=9 arr2[1][1]=9
5:02:40 PM Info FINAL: arr1[1][1]=0 arr2[1][1]=0
5:02:40 PM Notice Execution completed
EXPECTED: arr1[1][1]=0 arr2[1][1]=9
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)