zoukankan      html  css  js  c++  java
  • JSON clone 实现

    // 1:1克隆 (只考虑 f,s 为同一类型)
    function deepCopy(s) {
        if (!Object.keys(s).length || s === null) return;
        var copy = function (f, s) {
            for (var i in s) {
                if (typeof s[i] === 'object' && !!s[i]) {
                    f[i] = s[i].constructor === Array ? [] : {};
                    copy(f[i], s[i]);
                }
                else {
                    f[i] = s[i];
                }
            }
            return f;
        };
        return s.constructor === Array ? copy([], s) : copy({}, s);
    }
    // 在A的基础上,累加克隆B (只考虑 f,s 为同一类型)
    function deepCopy(f, s) {
        if (!Object.keys(s).length || f === null) return;
        for (var i in s) {
            if (typeof s[i] === 'object' && !!s[i]) {
                f[i] = s[i].constructor === Array ? [] : {};
                deepCopy(f[i], s[i]);
            }
            else {
                f[i] = s[i];
            }
        }
        return f;
    }
  • 相关阅读:
    1370
    1336
    1298
    1289
    Buy Tickets(poj2828)
    The Balance(poj2142)
    1067
    Lightoj1011
    1319
    Back to Underworld(lightoj 1009)
  • 原文地址:https://www.cnblogs.com/shanchenba/p/5602128.html
Copyright © 2011-2022 走看看