【发布时间】:2014-03-03 12:00:51
【问题描述】:
我有一个“空”数组,稍后将在代码中填充数据。但在它到达那个阶段之前,有一个部分会将默认内容复制到一个临时数组中,因此可以更改原始内容并稍后接收存储在副本中的相关数据。
问题是当我使用 slice 并删除原始数组中的部分时,临时部分也会受到影响。
var array1 = [["text", [[[1,2],[3,4],[5,6]]], 0]];
var array2 = array1[0].slice(0);
//alert(array2[1][0]) // Output: 1,2,3,4,5,6
array1[0][1][0] = new Array();
//alert(array2[1][0]) // Output:
我可以使用解决方法单独复制数组的每个部分,而不是一次全部复制,但我仍然想了解为什么会发生这种情况。
【问题讨论】:
标签: javascript arrays multidimensional-array slice