如何克隆不指向同一对象的对象

时间:2019-07-16 21:42:08

标签: javascript arrays object

在我的真实代码中,我将在一个循环中有一个函数,该对象的对象与此对象的更新不同。我将浏览我的对象,以便随着时间的推移看到我的对象。

要拥有所有对象,我将声明一个全局数组来存放我的对象。

那是行不通的,因为它总是引用相同的对象,因此会修改数组中的所有对象。更新后,如何修改该对象并将其存储在我的表中而无需修改。

-在插入全局数组之前尝试的操作。我会在数组中添加数据,但不起作用:

 var data2 = jQuery.extend({}, data)
 var data2 = JSON.parse(JSON.stringify(data))
 var data2 = Object.create(data)  

-这是演示

// Create an object:
var person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};
var array = [];

array.push(person);
var test = person;
array.push(person);


array[0].firstName = 'test';


// Display some data from the object:
document.getElementById("demo").innerHTML = array[1].firstName;
<body>
  -- hello
  <h2>JavaScript Objects</h2>

  <p id="demo"></p>

</body>

0 个答案:

没有答案