我正在制作一个在数组上运行算法的应用程序。因为在算法执行过程中数组的内容会发生变化,所以我事先将数组内容存储到另一个数组中——在源数组上执行“if”语句,但更新临时数组,然后将它们等同起来。
问题是运行算法后,两个数组仍然是相同的。似乎更新临时数组会自动更新源数组。
我创建了这个 jsfiddle来演示:
var a = new Array( 0 , 1 , 2 );
var b = a;
b[1]=3;
document.write( (a[1]==b[1]) );
//Should show 'false' as this will not be correct
上面的代码返回“True”。这是正常行为吗?我该如何克服呢?