利用递归实现深拷贝

 // 深拷贝

    let obj = {

      name: "xuke",

      age: 22,

      hobby: {

        first: "eat",

        second: "sleep"

      },

      city: ['北京', '上海', '广州', '深圳']

    }


  function deep(obj) {

      var data

      if (typeof data === 'object') {

        if (Array.isArray(obj)) {

          data = []

          for (var key in obj) {

            data.push(deep(obj[key]))

          }

        } else if (obj === null) {

          data = obj

        } else if (obj === RegExp) {

          data = obj

        } else {

          data = {}

          for (var key in obj) {

            data[key] = deep(obj[key])

          }

        }

      } else {

        return obj

      }

      console.log(data);

      return data

    }

    console.log(deep(obj));

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容