牛骨文教育服务平台(让学习变的简单)
博文笔记

js实现深度拷贝

创建时间:2017-10-29 投稿人: 浏览次数:324

前段时间遇到深度拷贝的问题,总结一下用的方法

1.方便快速var arr1 = JSON.parser(JSON.stringigy(arr)),这样就把arr赋值给了arr1,修改arr1的内容并不会影响arr

2.jquery提供了$extened方法,$.extened(true,arr1,arr),把arr深度拷贝给了arr1

3.

    function deepClone(item) {
        if (!item) { return item; }

        var type;
        var result;

        types.forEach(function (type) {
            if (item instanceof type) {
                result = type(item);
            }
        });

        var key;
        var value;
        if (item instanceof Array === true) {
            result = [];
        }
        else if (item instanceof Object === true) {
            result = {};
        }
        else {
            return item;
        }
        for (key in item) {
            value = item[key];
            result[key] = (typeof item === "object") ? this.deepClone(value) : value;
        }

        return result;
    }


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。