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; }
相关文章推荐
- 【JavaScript代码实现三】JS对象的深度克隆
- JS克隆数组和对象(不指向同一内存)
- js克隆对象、数组的常用方法【clone】
- js数组排序 reverse()和sort()方法的使用 复制数组slice()和克隆数组concat()
- js(八)---克隆与数组去重
- JS对象深度克隆实现
- [转]js数组克隆
- js 实现数组深度copy
- JS对象简单、深度克隆(赋值与引用的区别)
- js 数组克隆
- js中对象深度克隆,以及ES6中的深度克隆的实现
- JS深度克隆的理解
- JS 实现 创建类、继承、方法添加、对象克隆、数组封装操作
- JS数组复制(克隆)
- js克隆对象或数组
- [转]js数组克隆
- js 克隆一个对象或数组
- 深度克隆---js对象引用
- js 数组和对象的深度拷贝
- js对象简单、深度克隆(复制)