zoukankan      html  css  js  c++  java
  • JavaScript深拷贝实现方式

    1、递归

      function deepCope (obj) {
        // 要拷贝的数据为引用类型属性(数组或对象)
    if (obj && typeof obj === 'object') { const copeObj = Array.isArray(obj) ? [] : {};
         // const copeObj = obj.constructor === Array ? [] : {}
    for (let key in obj) {
          // 当前要拷贝数据的属性值为引用类型数据则执行递归
    if (obj[key] && typeof obj[key] === 'object') { copeObj[key] = deepCope(obj[key]); } else { copeObj[key] = obj[key]; } } return copeObj; } else { return obj; }   }

    2、JSON方法

      缺点undefined、正则表达式、函数类型等会被直接忽略!!!

        function deepCope (obj) {
          return JSON.parse(JSON.stringify(obj))
        }
  • 相关阅读:
    新生题目集
    C语言课程设计
    Java学习-8
    Java学习-7
    Java学习-6
    Java学习-5
    HTML学习
    Java学习-4
    强大的项目管理工具maven
    java学习-3
  • 原文地址:https://www.cnblogs.com/zhaoxiaoying/p/14696848.html
Copyright © 2011-2022 走看看