0

我需要制作一个变量的临时副本以进行更改。这就是我的意思:

var x = ["a", "b", "c"];
var y = x;
y[1] = "2"
//x: ["a", "b", "c"];
//y: ["a", 2, "c"];

值得指出的是,我使用的是我自己定义的对象,而不是内置的数据结构。

4

3 回答 3

1

在 JavaScript 中“克隆”原始类型数组的标准方法(根据您的要求)如下所示:

var x = ["a", "b", "c"];
var y =  x.slice(0);
y[1] = "2";

请注意,如果数组包含复杂类型(对象),那么它将保留原始引用;换句话说,它不会对对象数组执行“深度”复制。

于 2013-05-09T04:45:31.273 回答
0

尝试这个

var x = ["a", "b", "c"];
var y = JSON.parse(JSON.stringify(x));
//y = ["a", "b", "c"];

然后你可以随心所欲地操纵你的新对象。

于 2013-05-09T07:19:05.427 回答
0

您可以使用 jQuery 克隆您的对象

var newObject = jQuery.extend(true, {}, oldObject);

jQuery 文档

于 2013-05-09T07:45:51.633 回答