如何复制一个JavaScript对象

How do I make a copy of a JavaScript object?

本文关键字:一个 JavaScript 对象 复制 何复制      更新时间:2023-09-26

我需要对变量进行临时复制以进行更改。我的意思是:

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"];

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

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