如何将一个对象复制到另一个变量而无需在javascript中传递引用

时间:2019-09-28 07:14:24

标签: javascript reactjs object

我有一个物体

var a = {b:{c:{d:{e:1}}}}

我想将该对象复制到另一个变量b,而不传递引用,所以我尝试了散布运算符

var b = {...a}

这并不是深入地删除引用,因为我更改了对象“ a”中的值,它也更改了对象“ b”中的值

    a.b.c.d.e = 2
    console.log(b.b.c.d.e) 

给出输出2而不是1

var a = {b:{c:{d:{e:1}}}};
var b = {...a};
a.b.c.d.e = 2;
console.log(b.b.c.d.e)
document.write(b.b.c.d.e)

我该如何处理这个问题

1 个答案:

答案 0 :(得分:0)

我总是这样做以复制JSON对象。很棒的IMO,可能会有更好的出路。

var a = {b:{c:{d:{e:1}}}};
var b = JSON.parse(JSON.stringify(a));
a.b.c.d.e = 2;
console.log(b.b.c.d.e)
document.write(b.b.c.d.e)