数组中的json发生共用空间、污染原始对象的处理方法

当后台传输一个数组中有json数据时,你想重新赋值给其他变量后修改新的变量时,你会发现你修改新的变量时,原始的数组也会发生变化,怎么解决呢?

示例

var arr = [{"a":11111},{"b":11111},{"c":11111},{"d":11111},{"e":11111},{"f":11111},{"g":11111}];
var arr1 = [];
for(var i=0;i

生成结果

数组中的json发生共用空间、污染原始对象的处理方法_第1张图片
11.png

解决办法1

var arr= [{"a":11111},{"b":11111},{"c":11111},{"d":11111},{"e":11111},{"f":11111},{"g":11111}];
var arr1 = [];
for(var i=0;i

解决方法2

var arr= [{"a":11111},{"b":11111},{"c":11111},{"d":11111},{"e":11111},{"f":11111},{"g":11111}];
var arr1=JSON.parse(JSON.stringify(arr));
arr1[0]['a']=22222;
console.log(arr,arr1);
数组中的json发生共用空间、污染原始对象的处理方法_第2张图片
2.png

你可能感兴趣的:(数组中的json发生共用空间、污染原始对象的处理方法)