小编典典

如何将 JavaScript 对象复制到新变量而不是通过引用?

all

我在这里写了一个快速的 jsfiddle ,我将一个小的 JSON
对象传递给一个新变量并修改原始变量(不是新变量)中的数据,但新变量的数据也会更新。这一定意味着 JSON 对象是通过引用传递的,对吧?

这是我的快速代码:

var json_original = {one:'one', two:'two'}

var json_new = json_original;

console.log(json_original); //one, two
console.log(json_new); //one, two

json_original.one = 'two';
json_original.two = 'one';

console.log(json_original); //two, one
console.log(json_new); //two, one

有没有办法制作 JSON 对象的深层副本,以便修改原始变量不会修改新变量?


阅读 56

收藏
2022-07-30

共1个答案

小编典典

如果您不使用 jQuery 并且只对克隆简单对象 感兴趣(请参阅评论),我发现以下方法有效。

JSON.parse(JSON.stringify(json_original));

文档

2022-07-30