JS中如何进行对象的深拷贝

如题所述

//拷贝数据,深拷贝数据,绝对不会出现对象与数组引用相同位置
var copyData = function(item) {
if(item == null) {
return null;
}
if($.isArray(item)) {
var newArray = [];
for(var i=0;i<item.length;i++) {
newArray.push(copyData(item[i]));
}
return newArray;
}

if($.isPlainObject(item)) {
var newObj = {};
for(var p in item) {
newObj[p] = copyData(item[p]);
}
return newObj
}
return item;
}

温馨提示:答案为网友推荐,仅供参考