作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我写了一个快速的 jsfiddle here ,我将一个小的 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 对象的深拷贝,这样修改原始变量就不会修改新变量?
最佳答案
如果您不使用 jQuery 并且只对克隆 简单对象 感兴趣,我发现以下方法有效(请参阅评论)。
JSON.parse(JSON.stringify(json_original));
文档
关于javascript - 如何将 JavaScript 对象复制到新变量而不是通过引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18359093/
我是一名优秀的程序员,十分优秀!