/** * 深复制 * @param source * @return */ public static function clone(source:Object):*{ var myBA:ByteArray = new ByteArray(); myBA.writeObject(source); myBA.position = 0; return(myBA.readObject()); }
var arrO:Array=[[10,11,12],[20,21,22],[30,31,32]];
trace("源数组:"+arrO);
var arrCopy:Array=clone(arrO);
trace("复本:"+arrCopy);
arrCopy[0][0]=100;
trace("更改了arrCopy[0][0]后,源数组:"+arrO+",复本:"+arrCopy);
结果:
源数组:10,11,12,20,21,22,30,31,32
复本:10,11,12,20,21,22,30,31,32
更改了arrCopy[0][0]后,源数组:10,11,12,20,21,22,30,31,32,复本:100,11,12,20,21,22,30,31,32
由此可看出,对于多维数组,亦可实现完整的拷贝了。