gpt4 book ai didi

Javascript将对象的当前内容保存在另一个对象中?

转载 作者:行者123 更新时间:2023-11-30 08:08:35 24 4
gpt4 key购买 nike

假设我有:

var obj1 = {
'0': 'a',
'1': 'b'
}

var obj2 = obj; // I want to create a new object with obj contents

obj1[2] = 'c' // Now I modify obj without modifying obj2

obj1 = obj2; // so I can restore obj later

但是修改 obj 也会修改 obj2。如何创建独立于它的 obj1 副本?

最佳答案

您需要对该对象进行深度复制

var obj1 = {
'0': 'a',
'1': 'b'
};

var obj2 = deepCopy(obj1);

obj1[2] = 'c'

console.log(obj1);
console.log(obj2);

function deepCopy(obj) {
var newObj = {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = obj[key];
}
}
return newObj;
}​

Check Fiddle

关于Javascript将对象的当前内容保存在另一个对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13887401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com