js 深度拷贝

1. 思路

  对一个对象进行深度拷贝,就是要把这整个树都复制过来

2. 代码

  function deepClone(obj){

    if(obj === null)

      return;

    const newObj = obj.push? [] : {};

    for(const attr in obj){   // attr这个命名好

     if(typeof obj[attr] == 'object')

      newObj [attr] = deepClone(obj[attr]) // 如果新节点是个对象

     else

      newObj [attr] = obj[attr]

    }

    return newObj ;

  }

 

posted @ 2022-02-03 22:45  心中的阿哲  阅读(275)  评论(0编辑  收藏  举报