当我只更新该数组的一个索引时,javascript数组的两个索引值都得到更新

当我只更新该数组的一个索引时,javascript数组的两个索引值都得到更新,javascript,jquery,arrays,multidimensional-array,Javascript,Jquery,Arrays,Multidimensional Array,伙计们,我在制作动态多维数组时遇到了这个问题,但我仍然不知道在使用类似javascript的javascript更新数组的特定父索引时基本上出了什么问题 .on('click', function(){ array[dynamicIndex] = anotherArray; }); 所以问题是,当数组[53][1,2,3]是其中的第一个索引赋值时,但当我尝试赋值时,数组更新为新的索引 array[53][1,2,3,4,5,6] array[54][1,2,3,4,5,6] 如果

伙计们,我在制作动态多维数组时遇到了这个问题,但我仍然不知道在使用类似javascript的javascript更新数组的特定父索引时基本上出了什么问题

.on('click', function(){
     array[dynamicIndex] = anotherArray;
 });
所以问题是,当数组[53][1,2,3]是其中的第一个索引赋值时,但当我尝试赋值时,数组更新为新的索引

array[53][1,2,3,4,5,6]
array[54][1,2,3,4,5,6]

如果没有问题,希望您能回答。在您的示例中,当您使用以下选项时,您可以访问此选项:

lightArr[parseInt(thatText)] = minArray;
您正在通过引用指定数组。这样,对minArray所做的任何更改都将反映到lightArr[parseIntthatText]值

您可以使用以下方法来解决您的问题:

lightArr[parseInt(thatText)] = minArray.slice();

数组是通过引用传递的,是否检查您没有将相同的数组引用分配给父数组中的不同元素?如果您每次都使用相同的另一个数组,则将引用放置到所有元素中的相同数组。不,我没有分配相同的数组,因为我只想在不同的索引中分配数组。您可以访问该链接以供参考@请解释一下@Barmar,lightArr,That Text和minArray从哪里来?虽然解释是正确的,但您似乎从另一个问题获得了代码。@Barmar他们来自他提供的JSFIDLE链接。非常感谢@omaxel这是一个漂亮而精确的答案。