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

标签 javascript jquery arrays multidimensional-array

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

.on('click', function(){
     array[dynamicIndex] = anotherArray;
 });

所以问题是,当 array[53][1,2,3] 是第一个索引分配值时,但是当我尝试分配新值新索引时,数组更新为

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

希望您能解答这个问题,如果没有您可以访问此 link .

最佳答案

在您的示例中,当您使用:

lightArr[parseInt(thatText)] = minArray;

您正在通过引用分配一个数组。这样,您对 minArray 所做的任何更改都将反射(reflect)到 lightArr[parseInt(thatText)] 值。

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

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

关于当我只更新该数组的一个索引时,javascript数组的两个索引值都会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48396192/

相关文章:

javascript - 动态目录 - For 循环未完成

javascript - 从underscorejs中的循环数组中删除项目

javascript - 在 Asp.Net MVC 中使用 blueimp 分块上传文件

javascript - 如何在 javascript 中解析 JSON 数组,该数组中的每个对象都有单引号?

javascript - 如何在 Node.js 上安装 socket.io 和 mysql

javascript - D3 通过引用强制布局绑定(bind)不同步

jquery - jqgrid构建后如何设置postData?

javascript - 为什么我的 JQuery 不能在 IE 上加载?

javascript - 根据另一个数组过滤一个数组

javascript - 关联数组/ key 对数组在 Javascript 中以随机的 key 顺序排列。