我需要帮助理解JSON的行为[参考问题]。更新JavaScript中的JSON数据时的参考问题
var obj = {"newData":["Hello"]};
obj["oldData"] = obj.newData;
// Here added new key "oldData"
// Expected output is coming: {"newData":["Hello"],"oldData":["Hello"]}
obj["newData"].push("hi");
// On updating "newData"
// Excepted Output : {"newData":["Hello","hi"],"oldData":["Hello"]}
// But Actual Output is coming as : {"newData":["Hello","hi"],"oldData":["Hello","hi"]}
如何解决这个问题。 如何避免更新oldData字段。 jsfiddle example
同样的问题,使用对象,jsfiddle example for objects
什么,如果有一个对象instaed阵列 –
,那么你就不能在你的示例中使用'.push',我们在这种情况下考虑数组。 –
@DiveshOswal关键是你需要复制它,以避免参考问题,复制的方式将取决于它是什么.. – Kaddath