AS3.0 Array常用方法总结
splice(startIndex:int, deleteCount:uint, ... values):Array
splice英文意思:
- vt. 拼接;接合;使结婚
- n. 接合;结婚
参数为两个时,如splice(1, 2);表示将数组索引为1处开始(包括1)开始删除2个元素。
参数为三个时,如splice(1, 2, ......);表示将数组作上述操作后再在1出位置塞入... values参数。
如果... values是数组,则直接将其塞入(而不是它里面的元素);
返回删除的元素构成的数组。
slice(startIndex:int = 0, endIndex:int = 16777215):Array
slice英文意思:
- n. 薄片;部分;菜刀,火铲
- vt. 切下;把…分成部分;将…切成薄片
- vi. 切开;割破
返回由原始数组中[startIndex, endIndex)范围的元素构成的新数组,而不修改原始数组。
参数无时,返回一个原数组的引用。
concat(... args):Array
将参数中指定的元素与数组中的元素连接,并创建新的数组。如果这些参数指定了一个数组,将连接该数组中的元素。
参数无时,返回一个原数组的引用。
克隆数组
Array 类不具有复制数组的内置方法。通过调用不带参数的 concat() 或 slice() 方法,可以创建数组的“ 浅副本”。在浅副本中,如果原始数组具有对象元素,则仅复制指向对象的引用而非对象本身。与原始数组一样,副本也指向相同的对象。对对象所做的任何更改都会在两个数组中反映出来。这是浅复制。
利用ByteArray类进行深复制。
import flash.utils.ByteArray; function clone(source:Object):* { var myBA:ByteArray = new ByteArray(); myBA.writeObject(source); /*
writeObject(object:*):void
将对象以 AMF 序列化格式写入字节数组。
*/
myBA.position = 0; /*
position属性:将文件指针的当前位置(以字节为单位)移动或返回到 ByteArray 对象中。
下一次调用读取方法时将在此位置开始读取,或者下一次调用写入方法时将在此位置开始写入。
*/
return(myBA.readObject()); /*
readObject():*
从字节数组中读取一个以 AMF 序列化格式进行编码的对象。
*/
}
ByteArray:
ByteArray→Object
ByteArray 类提供用于优化读取、写入以及处理二进制数据的方法和属性。