zoukankan      html  css  js  c++  java
  • js数组深度克隆

     1 var a =[],b=[];
     2 a[0]={name:'w',text:2};
     3 a[1]={name:'a',text:3};
     4 a[2]={name:'b',text:4};
     5 b =a.cloneArray();
     6 function objClone(myObj){
     7     if(typeof(myObj) != 'object') return myObj;
     8     if(myObj == null) return myObj;
     9     var myNewObj = new Object();
    10     for(var i in myObj)
    11     myNewObj[i] = objClone(myObj[i]);
    12     return myNewObj;
    13 }
    14   Array.prototype.cloneArray=function(){//为数组添加克隆自身方法,使用递归可用于多级数组
    15     var newArr=new Array();
    16     for(var i=0;i<=this.length-1;i++)
    17     {
    18        var itemi=this[i];
    19        if(itemi.length && itemi.push) itemi= itemi.cloneArray();//数组对象,进行递归
    20        else if(typeof(itemi)=="object") itemi=objClone(itemi);//非数组对象,用上面的objClone方法克隆
    21        newArr.push(itemi);
    22     }
    23     return newArr;
    24   }
  • 相关阅读:
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    写在前面
    一丶Python简介
    七丶Python字典
    六丶Python列表操作
    五丶Python列表丶元组丶字典
    四丶Python运算符
  • 原文地址:https://www.cnblogs.com/liwei45212/p/3026349.html
Copyright © 2011-2022 走看看