有什么方法可以制作变量的深层副本吗? (不是对象)。例如:
var a = ["String", "string"];
var b = a;
b.splice(1, 1);
b = a;
在我的示例中,a
不应该更改,我想稍后使用它来恢复b
。 (如上面的代码所示)。
我理解=
只是提出了一个新的引用,因此问题是:还有其他方法可以制作深层副本而不是引用吗?
要注意我不能使用任何库,我找到了建议jQuery等的答案,但我不能使用它。
答案 0 :(得分:2)
您是否测试过代码? var someList = new List<string>();
// Possibly added some values to the list.
if (someList.Count() > 0) // Checking if it contains values then clearing it.
someList.Clear();
// ...
someList.Clear(); // Or just clear it without checking?
和其他基元被复制,未被引用。
Numbers
&#13;
使用其他示例编辑后:
var a = 1;
var b = a;
console.log(`a is ${a}`);
console.log(`b is ${b}`);
b++;
console.log(`a is ${a} (no change)`);
console.log(`b is ${b}`);
&#13;