我必须为数组添加一些值.
代码例如:
temp[0]=new Array("0","0");
temp[1]=new Array("0","0");
temp[2]=new Array("0","0");
temp[3]=new Array("0","0");
temp[4]=new Array("0","0");
vt=new Array("1","0");
temp.splice(3, 0, vt);
temp.splice(4, 0, vt);
temp[3][1]="R";
Run Code Online (Sandbox Code Playgroud)
我期待这个输出:
1 - 0,0 2 - 0,0 3 - 0,0 4 - 1,R 5 - 1,0 6 - 0,0 7 - 0,0
但实际输出是:
1 - 0,0 2 - 0,0 3 - 0,0 4 - 1,R 5 - 1,R 6 - 0,0 7 - 0,0
任何的想法?我认为这是splice()函数的索引问题!
Javascript数组是对象.将对象放入数组时,基本上是在数组中引用它.你在这两个地方都有相同的参考.如果更改引用,它将反映在所有其他引用中.您需要在两个位置插入一个新的独立对象,以便引用指向另一个对象.
而不是
vt=new Array("1","0");
temp.splice(3, 0, vt);
temp.splice(4, 0, vt);
Run Code Online (Sandbox Code Playgroud)
做
temp.splice(3, 0, new Array("1","0"));
temp.splice(4, 0, new Array("1","0"));
Run Code Online (Sandbox Code Playgroud)