把json1赋值给json2,修改json2的属性,json1的属性也一起变化

let json1 = { a: 1}
let json2 = json1
json2.a = 5 console.log(json1.a) // 5 console.log(json2.a) // 5

如果我们不想让 json1 的值跟着联动变化,应该怎么做呢?可以先把 json1 转换成字符串,然后在转换成对象,代码如下:

json2 = JSON.parse(JSON.stringify(json1));
json2.a = 5;
console.log( json1.a); // 1
console.log( json2.a); // 5

或者:
json2 = Object.assign({},json1)
posted @ 2019-09-03 09:14  青春无敌小宇宙  阅读(638)  评论(0编辑  收藏  举报