我试图使用for循环来修改数组,然后将该修改存储在另一个数组中而不是另一个修改并将其存储到第二个数组等,但我的第二个数组只是最后一次迭代的d个实例我的for循环。这似乎是一个封闭问题,但我无法找到解决方法?
for (var d=1; d<arr1.length; d++) {
remove = arr1.splice(d,1).toString();
arr1.splice(d+1,0,remove);
arr2.push(arr1);
}
return arr2;
答案 0 :(得分:0)
如果要存储阵列的所有修改版本,我建议使用数组数组,在这种情况下,我们调用顶级数组master
。每次修改数组时,只需将其推送到master
数组。
这将为您提供所谓的&#34; 2d数组&#34;。然后,您将能够访问您想要的任何版本的阵列。您的第一个数组为master[0]
,第二个数组为master[1]
,等等。要访问第二个数组的第一个元素,您只需说出master[1][0]
。
希望这有帮助!