1

我必须为数组添加一些值。

代码例如:

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,R
6 - 0,0
7 - 0,0

任何想法?我认为这是功能的索引问题splice()

4

1 回答 1

5

Javascript 数组是对象。将对象放入数组时,您基本上是将对其的引用放入数组中。您在这里将相同的参考放在两个地方。如果您更改参考,它将反映在所有其他参考中。您需要在这两个位置插入一个的单独对象,以便引用指向不同的对象。

所以而不是

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

temp.splice(3, 0, new Array("1","0"));
temp.splice(4, 0, new Array("1","0"));
于 2010-06-12T13:49:22.430 回答