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]
 

原文链接:http://caibaojian.com/parse-stringify.html

posted @ 2020-04-20 16:22  Action_swt  阅读(2349)  评论(0编辑  收藏  举报