javascript splice()索引问题

javascript splice()索引问题,javascript,splice,Javascript,Splice,我必须给数组添加一些值 代码,例如: 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";

我必须给数组添加一些值

代码,例如:

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";    
我预计这一产出:

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,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 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);


Javascript数组是对象。将对象放入数组时,基本上就是将对它的引用放入数组中。您在此处将相同的引用放在两个位置。如果更改引用,它将反映在所有其他引用中。您需要插入一个新的,并在两个位置分离对象,以便引用指向不同的对象

所以不是

vt=new Array("1","0");
temp.splice(3, 0, vt);
temp.splice(4, 0, vt);


巴卢斯的答案是正确的,但作为一个提示;使用
[1,2,3]
代替
新数组(1,2,3)
BalusC的答案是正确的,但作为提示;使用
[1,2,3]
代替
新数组(1,2,3)