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]