as3 深复制

/**
		 * 深复制
		 * @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
 
由此可看出,对于多维数组,亦可实现完整的拷贝了。

猜你喜欢

转载自www.cnblogs.com/dt1991/p/9294270.html