我需要制作一个变量的临时副本以进行更改。这就是我的意思:
var x = ["a", "b", "c"];
var y = x;
y[1] = "2"
//x: ["a", "b", "c"];
//y: ["a", 2, "c"];
值得指出的是,我使用的是我自己定义的对象,而不是内置的数据结构。
我需要制作一个变量的临时副本以进行更改。这就是我的意思:
var x = ["a", "b", "c"];
var y = x;
y[1] = "2"
//x: ["a", "b", "c"];
//y: ["a", 2, "c"];
值得指出的是,我使用的是我自己定义的对象,而不是内置的数据结构。
在 JavaScript 中“克隆”原始类型数组的标准方法(根据您的要求)如下所示:
var x = ["a", "b", "c"];
var y = x.slice(0);
y[1] = "2";
请注意,如果数组包含复杂类型(对象),那么它将保留原始引用;换句话说,它不会对对象数组执行“深度”复制。
尝试这个
var x = ["a", "b", "c"];
var y = JSON.parse(JSON.stringify(x));
//y = ["a", "b", "c"];
然后你可以随心所欲地操纵你的新对象。