zoukankan      html  css  js  c++  java
  • 解决 堆栈 出现的父对象和子对象相关联的问题 (深拷贝)

    // 解决 堆栈 出现的父对象和子对象相关联的问题 (三种方法)
    // 深拷贝
        function dishesStackHandle(person, current) {
            var current = current || {};    
            for (var i in person) {
                if (typeof person[i] === 'object') {
                    if (i == 'null' || i == null || person[i] == null) {
                        current[i] = {};
                    } else {
                current[i] = (person[i].constructor === Array) ? [] : {};
            }
                dishesStackHandle(person[i], c[i]);
                } else {
                    current[i] = person[i];
                }
            }
            return current;
        }
    //递归拷贝
    function deepCopy(obj) {
        var result = Array.isArray(obj) ? [] : {};
        for (var key in obj) {
            if (obj.hasOwnProperty(key)) {
                if (typeof obj[key] === 'object') {
                    result[key] = deepCopy(obj[key]); //递归复制
                } else {
                    result[key] = obj[key];
                }
            }
        }
        return result;
    }
    var syb = Symbol('obj');
    var person = {
       name :'tino',
       say: function(){
          console.log('hi');
       },
       ok: syb,
       un: undefined
    }
    var copy = JSON.parse(JSON.stringify(person))
    // copy
    // {name: "tino"}
    一辈子很短,努力的做好两件事就好;第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;
  • 相关阅读:
    fullCalendar改造计划之带农历节气节假日的万年历(转)
    Linked List Cycle
    Remove Nth Node From End of List
    Binary Tree Inorder Traversal
    Unique Binary Search Trees
    Binary Tree Level Order Traversal
    Binary Tree Level Order Traversal II
    Plus One
    Remove Duplicates from Sorted List
    Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/yangsg/p/10148505.html
Copyright © 2011-2022 走看看