Javascript 克隆JSON未按预期工作
我有一个JSON文本,如下所示:Javascript 克隆JSON未按预期工作,javascript,json,Javascript,Json,我有一个JSON文本,如下所示: var json_1 = { "name": "Tim", "toys": ["ball", "bat", "lego"] }; var json_2 = json_1; 现在我将其克隆如下: var json_1 = { "name": "Tim", "toys": ["ball", "bat", "lego"] }; var json_2 = json_1; 如果我从json_1(使用splice())中移除玩具,那么
var json_1 = {
"name": "Tim",
"toys": ["ball", "bat", "lego"]
};
var json_2 = json_1;
现在我将其克隆如下:
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上,反之亦然。
要真正克隆您的对象,请查看:当您这样做时:
var json_2 = json_1
实际上,你并不是在“克隆”对象,你只是在给它添加别名。因此,json_1上的所有操作都将镜像到json_2上,反之亦然。
要真正克隆对象,请查看:这不是“JSON文字”。这是一个“对象文字”。它与JSON没有任何关系。这不是JSON。这是一个使用对象文字语法的javascript对象,而不是“JSON文字”。这是一个“对象文字”。它与JSON没有任何关系。这不是JSON。这是一个使用对象文字语法的javascript对象。