JSON.parse()和JSON.stringify()实现深拷贝
JSON.parse()和JSON.stringify()实现深拷贝:
实际开发中,如果怕影响原数据,我们常深拷贝出一份数据做任意操作,其实使用JSON.stringify()与JSON.parse()来实现深拷贝是很不错的选择。
但是当拷贝的数据为undefined,function(){},...拷贝时会为空,这是就需要采用递归拷贝。
使用JSON实现拷贝时,注意拷贝数据,看是否适合使用。
//深拷贝
function deepClone(data) {
let _data = JSON.stringify(data),
dataClone = JSON.parse(_data);
return dataClone;
};
//测试
let arr = [1,2,3],
_arr = deepClone(arr);
arr[0] = 2;
console.log(arr,_arr)//[2,2,3] [1,2,3]

浙公网安备 33010602011771号