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 类提供用于优化读取、写入以及处理二进制数据的方法和属性。

 

 

 

 

posted @ 2012-12-19 00:24  sdlwlxf  阅读(1047)  评论(0编辑  收藏  举报