`
roger_588
  • 浏览: 69761 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

as3中数组复制、数组清空

阅读更多

    本文主要介绍在as3中数组复制、数组清空的方法,以及Array.splice方法的使用。

   

    ActionSctipt中Array的复制方法,常用有三种:

    一、slice 此方法不改变原数组。

    二、splice 此方法改变原数组。

    三、用ByteArray实现深复制。前两者均为浅复制。

   
有意思的是,使用splice用于数组清空时,第二个参数可以不传递。实现代码如下:

   

  /**
    * 清空数组但不改变其地址
    *
    * @param arr 已分配内存地址的数组,不能为NULL
    *
    */

   public static function clear(arr : Array) : void
   {
           if( arr.length == 0 ) return;

 

           arr.splice(0);//arr.splice(0, arr.length);

           return;
   }

  
在flex sdk中,Array.splice定义为:

  

   在mx.core.UIComponent中也用到了Array.splice,只传递了startIndex,用于清空数组。

   总结:Array.splice在清空数组时,只需传递startIndex。如果不删除所有元素,再传递deleteCount参数。     
   splice还具有先删除后添加的功能,即先删除几个元素,然后在删除的位置再添加若干元素,删除与添加的元素的个数没有必须相等,这时侯deleteCount也是要用到的。

分享到:
评论

相关推荐

    《VisualBasic Net程序设计》教学课件:第5章 数组3.ppt

    其他常用方法还包括`Filter`、`CopyTo`、`GetLength`、`Array.Rank`、`Array.Clear`和`Erase`等,它们分别用于筛选、复制、获取长度、判断维度、清空数组和释放数组。 列表框(ListBox)和组合框(ComboBox)是两种...

    PHP程序设计-3期(KC016) 2.6.2循环控制5foreach拓展知识.doc

    然而,如果`$arr`也是引用,那么在循环内部修改`$arr`会导致数组被清空,因为`$arr`直接指向了数组本身。例如: ```php $arr = array(0, 1, 2, 3, 4, 5); $arr = &$arr; foreach ($arr as $value) { $arr = array()...

    vb.net中treeview节点的添加和删除

    For i As Integer = 1 To 3 ' 创建3个子节点 Dim childNode As TreeNode = New TreeNode("子节点 " & level.ToString()) parentNode.Nodes.Add(childNode) If level < 3 Then ' 如果层级不够深,继续添加子节点 ...

    VB显示剪切板上的图片

    ' 将DIB数据复制到数组 CopyMemory ByVal VarPtr(bitmapData(0)), ByVal bitmapBits + Len(dib), dib.biSizeImage GlobalUnlock hBitmap ' 创建DIBitmap对象,并设置到PictureBox控件 pic.Image = ...

    给easyui的datebox控件添加清空按钮的实现方法

    `$.fn.datebox.defaults.buttons`是DateBox控件的默认按钮配置,我们可以通过JavaScript的扩展方法`$.extend()`来复制这个数组,然后在适当的位置插入新的按钮定义。 以下代码展示了如何添加清空按钮: ```...

    计算机等级国家二级VF上机题库

    - 数据表的清空:在VFP中,可以使用 `DELETE FROM table_name` 清空整个表的数据。 - 插入数组数据到表:`INSERT INTO table_name FROM ARRAY array_name` 可以将数组中的数据插入到表中。 5. 视图(View)的创建...

    ezj v2.9 官方教程.pdf

    - **array1.copy()**:复制数组`array1`。 - **array1.exists(v[, ignoreCase])**:检查数组`array1`中是否存在元素`v`;可选参数`ignoreCase`控制是否忽略大小写。 - **array1.checkRepeat()**:检查数组`array1`中...

    VB做计算器

    - 创建控件数组时,可以通过复制和粘贴已有控件,然后更改其Index属性来快速创建一系列相似的控件。 3. **控件属性设置**: - 对于每个按钮,需要设置Caption属性以显示按钮上的文字,例如"0"、"1"、"+"、"-"等。...

    2021-2022计算机二级等级考试试题及答案No.19127.docx

    22. **数组声明**:在某些编程语言(如Visual Basic)中,声明`Dim A(10) As Double`表示数组A包含11个元素,从0到10。 这些知识点涵盖了数组参数传递、SQL查询、数据库管理、编程语言特性、操作系统功能、Web开发...

    自删除(不要在IDE下测试)的软件源码

    Dim items() As String ' 创建一个字符串数组来存储列表框的项目 ReDim items(ListBox1.Items.Count - 1) ' 初始化数组大小 ' 将列表框的项目复制到数组 For i = 0 To ListBox1.Items.Count - 1 items(i) = ...

    memcpy 函数.docx

    `memcpy`被用来将字符串`s`复制到字符数组`d`中,确保复制了包括`\0`在内的所有字符。 ```c #include #include int main() { char *s = "Golden Global View"; char d[20]; memset(d, 0, sizeof(d)); // 清空...

    简单剪贴板delphi

    例如,`TClipboard.AsText`用于获取剪贴板上的文本内容,`TClipboard.Clear`用于清空剪贴板,而`TClipboard.SetAsText`则可以将指定的文本内容放到剪贴板上。 要实现剪贴板监测,我们需要在程序中设置一个定时器(`...

    2021-2022计算机二级等级考试试题及答案No.5379.docx

    23. 在VBScript中,Dim A(10) As Double声明了一个包含11个元素的数组,从0到10。正确答案是 B。 24. 当线程调用sleep()方法时,线程会进入阻塞状态,而不是就绪状态。 以上是对计算机二级等级考试部分试题的详细...

    如何将C数据结构(SqQueue)改写为C++模板.

    描述解释: SqQueue是一种队列数据结构,在C语言中可以使用数组和指针来实现,而在C++中,我们可以使用类模板来实现同样的功能。通过将C数据结构重写为C++模板,我们可以获得更多的灵活性和可扩展性。 标签解释: ...

    VBA语句集100句

    10. **范围操作**:`Range`对象的常用方法如`Select`选择范围,`Copy`复制,`Paste`粘贴,`ClearContents`清空内容。 11. **工作表与工作簿操作**:可以创建、删除、重命名工作表,以及保存、关闭工作簿,例如`...

    轻松学C#(图解版)

    6.5.1 清空数组 106 6.5.2 创建数组副本 107 6.5.3 复制一部分元素给另一数组 107 6.5.4 将当前一维数组的所有元素赋值到指定的一维数组中 108 6.5.5 获取某个元素的值 109 6.5.6 获取元素的索引值 109 6.5.7 获取某...

    TC20图形函数

    3. bar3d 函数:用于绘制填充的三维条形图。`bar3d(xl, yt, xr, d, k)` 中,d 表示条形的深度,如果 k 不等于 0,则在条形图上添加一个顶部,如果 k 等于 0,则不添加。 4. circle 函数:绘制圆形。`circle(x, y, r...

Global site tag (gtag.js) - Google Analytics