您的位置:首页 > Web前端 > JavaScript

js数组深度克隆

2013-04-17 15:10 183 查看
var a =[],b=[];
a[0]={name:'w',text:2};
a[1]={name:'a',text:3};
a[2]={name:'b',text:4};
b =a.cloneArray();
function objClone(myObj){
if(typeof(myObj) != 'object') return myObj;
if(myObj == null) return myObj;
var myNewObj = new Object();
for(var i in myObj)
myNewObj[i] = objClone(myObj[i]);
return myNewObj;
}
Array.prototype.cloneArray=function(){//为数组添加克隆自身方法,使用递归可用于多级数组
var newArr=new Array();
for(var i=0;i<=this.length-1;i++)
{
var itemi=this[i];
if(itemi.length && itemi.push) itemi= itemi.cloneArray();//数组对象,进行递归
else if(typeof(itemi)=="object") itemi=objClone(itemi);//非数组对象,用上面的objClone方法克隆
newArr.push(itemi);
}
return newArr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: