gpt4 book ai didi

javascript splice() 索引问题

转载 作者:行者123 更新时间:2023-11-30 09:08:13 27 4
gpt4 key购买 nike

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

代码示例:

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,02 - 0,03 - 0,04 - 1,R5 - 1,06 - 0,07 - 0,0

但实际输出是:

1 - 0,02 - 0,03 - 0,04 - 1,R5 - 1,R6 - 0,07 - 0,0

有什么想法吗?我认为这是 splice() 函数的索引问题!

最佳答案

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

所以代替

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

关于javascript splice() 索引问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3028840/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com