我有数组和两个变量。这些变量用于保存对数组项的引用,实际上是为了选择新对象并保持先前选择的对象。此代码使selectedObject和prevselectedObject相同:(
if(newSelection)
{
if(this.prevselectedObject != newSelection)
{
this.prevselectedObject = this.selectedObject;
}
this.selectedObject = newSelection;
}
else
{
this.prevselectedObject = this.selectedObject;
this.selectedObject = null;
}
猜猜,this.prevselectedObject = this.selectedObject;实际上将prevselectedObject变量引用放入selectedObject。但我想将selectedObject中的引用复制到prevselectedObject。如果value是string或int,那么有值为copy-by-value的脏黑客,但是如何处理引用?
答案 0 :(得分:0)
好的,看起来它可以工作,然后我决定把它放到答案中。你可以使用slice()
var clone = myArray.slice(0);
或者更有趣:
Array.prototype.clone = function() {
return this.slice(0);
};
之后将其用作任何数组的克隆函数。
希望它有所帮助。