前段时间遇到深度拷贝的问题,总结一下用的方法
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;
}