js实现深度拷贝
前段时间遇到深度拷贝的问题,总结一下用的方法
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; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。