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";
我期望这个输出:
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()
函数的索引问题!
I have to add some value to an array.
Code for example :
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";
I expect this output :
1 - 0,0 2 - 0,0 3 - 0,0 4 - 1,R 5 - 1,0 6 - 0,0 7 - 0,0
But the actual output is:
1 - 0,0 2 - 0,0 3 - 0,0 4 - 1,R 5 - 1,R 6 - 0,0 7 - 0,0
Any idea? I think it's an indexing problem with splice()
function!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
JavaScript 数组是对象。将对象放入数组时,基本上是将对其的引用放入数组中。您在这两个地方都放置了相同引用。如果更改参考,它将反映在所有其他参考中。您需要在这两个位置插入一个新的对象,以便引用指向不同的对象。
所以而不是
做
Javascript arrays are objects. When putting an object in an array, you're basically putting a reference to it in the array. You're here putting the same reference in the both places. If you change a reference, it will be reflected in all other references. You need to insert a new and separate object in both places instead so that the references points to a different object.
So instead of
do