本文主要介绍在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也是要用到的。
分享到:
相关推荐
其他常用方法还包括`Filter`、`CopyTo`、`GetLength`、`Array.Rank`、`Array.Clear`和`Erase`等,它们分别用于筛选、复制、获取长度、判断维度、清空数组和释放数组。 列表框(ListBox)和组合框(ComboBox)是两种...
然而,如果`$arr`也是引用,那么在循环内部修改`$arr`会导致数组被清空,因为`$arr`直接指向了数组本身。例如: ```php $arr = array(0, 1, 2, 3, 4, 5); $arr = &$arr; foreach ($arr as $value) { $arr = array()...
For i As Integer = 1 To 3 ' 创建3个子节点 Dim childNode As TreeNode = New TreeNode("子节点 " & level.ToString()) parentNode.Nodes.Add(childNode) If level < 3 Then ' 如果层级不够深,继续添加子节点 ...
' 将DIB数据复制到数组 CopyMemory ByVal VarPtr(bitmapData(0)), ByVal bitmapBits + Len(dib), dib.biSizeImage GlobalUnlock hBitmap ' 创建DIBitmap对象,并设置到PictureBox控件 pic.Image = ...
`$.fn.datebox.defaults.buttons`是DateBox控件的默认按钮配置,我们可以通过JavaScript的扩展方法`$.extend()`来复制这个数组,然后在适当的位置插入新的按钮定义。 以下代码展示了如何添加清空按钮: ```...
- 数据表的清空:在VFP中,可以使用 `DELETE FROM table_name` 清空整个表的数据。 - 插入数组数据到表:`INSERT INTO table_name FROM ARRAY array_name` 可以将数组中的数据插入到表中。 5. 视图(View)的创建...
- **array1.copy()**:复制数组`array1`。 - **array1.exists(v[, ignoreCase])**:检查数组`array1`中是否存在元素`v`;可选参数`ignoreCase`控制是否忽略大小写。 - **array1.checkRepeat()**:检查数组`array1`中...
- 创建控件数组时,可以通过复制和粘贴已有控件,然后更改其Index属性来快速创建一系列相似的控件。 3. **控件属性设置**: - 对于每个按钮,需要设置Caption属性以显示按钮上的文字,例如"0"、"1"、"+"、"-"等。...
22. **数组声明**:在某些编程语言(如Visual Basic)中,声明`Dim A(10) As Double`表示数组A包含11个元素,从0到10。 这些知识点涵盖了数组参数传递、SQL查询、数据库管理、编程语言特性、操作系统功能、Web开发...
Dim items() As String ' 创建一个字符串数组来存储列表框的项目 ReDim items(ListBox1.Items.Count - 1) ' 初始化数组大小 ' 将列表框的项目复制到数组 For i = 0 To ListBox1.Items.Count - 1 items(i) = ...
`memcpy`被用来将字符串`s`复制到字符数组`d`中,确保复制了包括`\0`在内的所有字符。 ```c #include #include int main() { char *s = "Golden Global View"; char d[20]; memset(d, 0, sizeof(d)); // 清空...
例如,`TClipboard.AsText`用于获取剪贴板上的文本内容,`TClipboard.Clear`用于清空剪贴板,而`TClipboard.SetAsText`则可以将指定的文本内容放到剪贴板上。 要实现剪贴板监测,我们需要在程序中设置一个定时器(`...
23. 在VBScript中,Dim A(10) As Double声明了一个包含11个元素的数组,从0到10。正确答案是 B。 24. 当线程调用sleep()方法时,线程会进入阻塞状态,而不是就绪状态。 以上是对计算机二级等级考试部分试题的详细...
描述解释: SqQueue是一种队列数据结构,在C语言中可以使用数组和指针来实现,而在C++中,我们可以使用类模板来实现同样的功能。通过将C数据结构重写为C++模板,我们可以获得更多的灵活性和可扩展性。 标签解释: ...
10. **范围操作**:`Range`对象的常用方法如`Select`选择范围,`Copy`复制,`Paste`粘贴,`ClearContents`清空内容。 11. **工作表与工作簿操作**:可以创建、删除、重命名工作表,以及保存、关闭工作簿,例如`...
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 获取某...
3. bar3d 函数:用于绘制填充的三维条形图。`bar3d(xl, yt, xr, d, k)` 中,d 表示条形的深度,如果 k 不等于 0,则在条形图上添加一个顶部,如果 k 等于 0,则不添加。 4. circle 函数:绘制圆形。`circle(x, y, r...