js 深度複製數組與對象

js 深度複製數組與對象

/**
 * 深度複製數組與對象
 * @param o {Array|object} 數據包
 * @return {Array|object}
 */
let deepCopy = function(o) {
    if (o instanceof Array) {
        let n = [];
        for (let i = 0; i < o.length; ++i) {
            n[i] = deepCopy(o[i]);
        }
        return n;

    } else if (o instanceof Object) {
        let n = {};
        for (let i in o) {
            n[i] = deepCopy(o[i]);
        }
        return n;
    } else {
        return o;
    }
};
相關文章
相關標籤/搜索