宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]AS3克隆数组Array类用法示例

2016-10-13 00:16:48 点击量:8 标签: 收藏本文

  Array 类不具有复制数组的内置方法。可以通过调用不带参数的 concat() 或 slice() 方法来创建数组的“浅副本”。在浅副本中,如果原始数组具有对象元素,则仅复制指向对象的引用而非对象本身。与原始数组一样,副本也指向相同的对象。对对象所做的任何更改都会在两个数组中反映出来。在“深副本”中,将复制原始数组中的所有对象,从而使新数组和原始数组指向不同的对象。深度复制需要多行代码,通常需要创建函数。可以将此类函数作为全局实用程序函数或Array 子类的方法来进行创建。

  以下示例定义一个名为 clone() 的函数以执行深度复制。其算法采用了一般的 Java 编程技巧。此函数创建深副本的方法是:将数组序列化为 ByteArray 类的实例,然后将此数组读回到新数组中。此函数接受对象,因此既可以将此函数用于索引数组,又可以将其用于关联数组(极酷播放器提示:如以下代码所示):

  1. import flash.utils.ByteArray;  
  2. function clone(source:Object):*  
  3. {  
  4. var myBA:ByteArray = new ByteArray();  
  5. myBA.writeObject(source);  
  6. myBA.position = 0;  
  7. return(myBA.readObject());  

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室