<分区>
我有一个 JSON 文字如下:
var json_1 = {
"name": "Tim",
"toys": ["ball", "bat", "lego"]
};
现在我将其克隆如下:
var json_2 = json_1;
如果我从 json_1
中移除一个玩具(使用 splice()
),那么同样的东西似乎也会从 json_2
中移除。
我如何在它们不相互依赖的情况下创建副本?
标签 javascript json
<分区>
我有一个 JSON 文字如下:
var json_1 = {
"name": "Tim",
"toys": ["ball", "bat", "lego"]
};
现在我将其克隆如下:
var json_2 = json_1;
如果我从 json_1
中移除一个玩具(使用 splice()
),那么同样的东西似乎也会从 json_2
中移除。
我如何在它们不相互依赖的情况下创建副本?
最佳答案
当你这样做时:
var json_2 = json_1
您实际上并不是在“克隆”对象,您只是为其添加了别名。因此,对 json_1 的所有操作都将在 json_2 上进行镜像,反之亦然。 要真正克隆您的对象,请查看:https://stackoverflow.com/a/728694/2003420
关于javascript - 克隆 JSON 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15554402/