JavaScript数组分配问题
这个问题在这里已经有了答案:
当你做一些像array2 = array1;
你只是将array2
设置为对array1
的引用。 要创建array1的副本,你需要做array2 = array1.slice();
此外,您不能使用array1.value1 ='1';
设置数组元素array1.value1 ='1';
。 你在那里做的是将你的数组转换成一个对象。 所以你应该做的是:
var array1 = [];
var array2 = [];
array1[0] = 1;
array2 = array1.slice();
array2[1] = 2;
通过做array2 = array1;
您正在将array1对象分配给array2变量。 所以修改array2将修改相关的对象,即array1
因为你通过引用array1
传递给array2
。 你需要做一个副本,如:
array2 = new Array(array1);链接地址: http://www.djcxy.com/p/20989.html