如何用js实现深拷贝

    科技2024-06-09  72

    深拷贝

    deep copy

    判断数据类型(简单or复杂)递归循环调用复制函数得到结果 function isComplexData (data) { if(data===null||data===undefined){ return false } let flag = data.constructor===Array||data.constructor===Object return flag } function deepCopy (data) { if(!isComplexData (data)){ return data } let result = null if(data.constructor===Array){ result = [] }else{ result = {} } for(let i in data){ result[i] = deepCopy (data[i]) } return result } let a = {n:{x:0,y:1},m:2} let b = deepCopy (a) console.log(a,b) a.n.x = 3 console.log(a,b)
    Processed: 0.029, SQL: 8