//创建空数组
var arr:Array = new Array();
// 创建数组时指定数组长度
var array:Array = new Array(elements);
//创建数组时加入多个元素
var array:Array = new Array(element0,...elementN);
直接用数组符号也可以创建一个数组,这是很简洁的方式创建数组:
var letters:Array = ["a", "b",“c”];
1.push( ) 方法在数组尾部添加元素,unshift( ) 方法在数组首部插入元素
2.利用for 循环来遍历数组,使用下标返回元素。
3.用for 语句和break 语句就能找到匹配的元素。另外用ArrayUtilities.findMatchIndex( ),
ArrayUtilities.findLastMatchIndex( ), 和ArrayUtilities.findMatchIndices( ) 方法
用for循环查找第一个匹配的元素后,用break立即返回,这样就实现功能了。
break应该在if语句里进行判断,是否找到匹配元素,找到则执行break推出循环,否则继续查找。
var letters:Array = ["a", "b", "c", "d", "a", "b", "c", "d"];
// 指定要搜索的内容
var match:String = "b";
for (var i:int = 0; i < letters.length; i++) {
// 检测当前元素是否匹配
if (letters[i] == match) {
trace("Element with index " + i +
" found to match " + match);
break;
}
}
也可以找到匹配的最后一个元素,这就需要倒序遍历数组:
var letters:Array = ["a", "b", "c", "d", "a", "b", "c", "d"];
var match:String = "b";
for (var i:int = letters.length - 1; i >= 0; i--) {
if (letters[i] == match) {
trace("Element with index " + i +
" found to match " + match);
break;
}
}
使用自定义类ArrayUtilities 类更简单
import ascb.util.ArrayUtilities;
ArrayUtilities 类有三个方法来查找匹配的元素findMatchIndex( ), findLastMatchIndex( ), 和
findMatchIndices( )。
4.splice( ) 方法删除指定位置的元素,pop( ) 删除尾部元素,shift( ) 删除首部元素
删除指定位置的元素使用splice( ) 方法,它需要两个参数:
start
开始下标
deleteCount
删除的元素个数,如果没有定义,则从起始位置到末尾全部删除:
shift( ) 方法删除首部第一个元素,然后返回
该元素,pop( ) 方法删除尾部的元素并返回该值:
5.splice( ) 方法不仅可以删除元素,也可以插入元素,插入的元素放到第2个参数之后,当第2个
参数为0代表插入元素:
6.String 类的split( ) 方法把字符串转换为数组,但前提是字符串中含有统一的分割符,比如
Susan,Robert,Paula 字符串分割符为逗号
split( ) 方法接受两个参数:
分割符
用分割符来分割字符串,如果没定义,则把整个字符串作为数组的第一个元素
数量
分割出的最大元素个数,如果没定义,则全部放入数组。
7.ActionScript 提供内建的方法join( ) 可以快速把数组转换为字符串(数组中的元素不管什么类
型都将转换为字符串),该方法接受个参数作为分隔符:
var letters:Array = ["a", "b", "c"];
trace(letters.join("|")); // 显示: a|b|c
如果不指定分隔符,默认为逗号:
var letters:Array = ["a", "b", "c"];
trace(letters.join()); // 显示: a,b,c
8.使用concat( ) 方法或slice( ) 方法,另外还可以使用ArrayUtilities.duplicate( ) 方法,duplicate( )
方法可以创建递归复制
基本变量拷贝的是值
现在我们看看数组的操作,和上面的例子不同,两个变量实际上都指向了同一个数组存贮空间。
当letters 变量改变数组内容时,也影响到newLetters变量:
concat( ) 或slice( ) 方法复制一维整型下标的数组还可以,但是如果是多维的联合数组就不行
了,对于联合数组,不能使用concat( ) 或slice( ) 方法,对于多维数组,用concat( ) 或slice( )
只能复制顶层的数组,内部的就不能复制了
要想完全的复制数组,需要使用递归。ArrayUtilities.duplicate( ) 方法就是这样的做法,默认下
它也只复制一层数组,当第2个参数设为true时则是递归复制:
9.使用sort( ) 方法就可以对数组进行排序,没有参数是进行升序排序,对于字符内容采用
Unicode 编码排序
var words:Array = ["tricycle", "relative", "aardvark", "jargon"];
words.sort( );
trace(words); // 显示: aardvark,jargon,relative,tricycle
如果要进行降序排序,需要传递参数Array.DESCENDING 常量:
var words:Array = ["tricycle", "relative", "aardvark", "jargon"];
words.sort(Array.DESCENDING);
trace(words); // 显示: tricycle,relative,jargon,aardvark
分享到:
相关推荐
【新技术培训 培训讲义2_AS3数组.doc】这篇文档主要讲解了ActionScript 3中的数组概念、声明方式以及一系列的操作函数。数组在计算机编程中是一个基础且重要的数据结构,它允许我们存储和操作多个同类型或异类型的...
### Flash AS3 数组冒泡排序详解 #### 冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复进行的,直到没有...
数组定义是: allarr.push({_id:"55",_name:"11111",_ohe:"ffdfdfd"}); allarr.push({_id:"332",_name:"2222",_ohe:"ffdfdfd"}); allarr.push({_id:"422",_name:"3333",_ohe:"ffdfdfd"}); allarr.push({_id:"55",_...
flex.3的语法讲座,swf格式,共6课。
在ActionScript 3(简称AS3)中,处理数据集合时,经常需要找到数组中的最小值或最大值。本文将详细介绍如何使用AS3来实现这一功能,并深入探讨其背后的原理和技术要点。 #### 知识点一:数组排序方法 `sort()` 在...
通过这个“Flash AS3 自学教程”,你将能够熟练运用AS3进行动态内容的开发,理解并掌握类的使用、数组操作、逻辑控制以及代码优化等关键知识点。无论你是初学者还是有经验的开发者,这个教程都将为你提供宝贵的资源...
as3.0代码在字符串数组转换上的运用,是一个不错的学习材料
关于as3中二维数组的建立和使用,初学flash动作编程的同学学习下。。。
总的来说,AS3数字拼图小游戏不仅涉及基本的数组操作和条件判断,还包括事件处理、动画制作、游戏逻辑设计等多个方面,是学习AS3编程和游戏开发的一个理想实践项目。通过深入研究和实践,你可以掌握许多实用的AS3...
用数组实现雪花飘落,可调节雪花大小,透明度,运动速度,进一步理解掌握AS中数组的运用
3. **AS3数组**:讲解如何创建和操作数组,包括一维数组、二维数组以及动态数组的使用技巧。 4. **AS3的显示文本**:如何控制和操作Flash中的文本元素,包括格式化文本、动态文本和静态文本的区别。 5. **AS3的...
2. 数组运算:AS3CoreLib提供了一些增强的数组操作方法,例如`ArrayUtil`类,它包括了排序、查找、去重等实用功能。这些工具可以简化对数组的操作,提高代码的可读性和效率。 3. 网络连接:库中的`Net`类提供了一套...
Dim 数组名(下界 To 上界) As 类型 = {值1, 值2, ..., 值n} ``` 例如,创建一个包含5个整数元素的数组并初始化它们: ```vb Dim numbers(0 To 4) As Integer = {1, 2, 3, 4, 5} ``` ### 2. 动态初始化 动态初始...
- 三维数组:`Arr3(5 to 10, 6 to 12, 1 to 100)` 使用`UBound`函数可以获得数组某一维度的最大索引值。 **示例:** ```vba Dim Arr(1 To 12) As Integer Dim maxIndex As Integer maxIndex = UBound(Arr) ' ...
ReDim Preserve arr(1 To 10) As Integer ' 扩展数组大小到10个元素,保留原有数据 ``` `Preserve`关键字用于在扩展或缩小数组大小时保持原有的元素值。 4. **动态数组的限制** 尽管动态数组很灵活,但它也有一些...
本文实例讲述了Python使用numpy模块创建...import numpy as np ndarray1 = np.array([1, 2, 3, 4]) ndarray2 = np.array(list('abcdefg')) ndarray3 = np.array([[11, 22, 33, 44], [10, 20, 30, 40]]) zeros和zeros
Dim myArray(2, 3) As Integer ``` 三、初始化多维数组 初始化多维数组可以在声明时进行,也可以在程序运行时通过循环赋值。例如,初始化上述数组为特定值: ```vb For i = 0 To 2 For j = 0 To 3 myArray(i, j) ...
3. **多维数组**:除了二维,还可以创建三维或更多维度的数组,适应更复杂的逻辑结构。多维数组的声明方式与二维类似,只是增加更多的维度。 在VB中,数组的初始化和操作也是学习的重点: - **初始化**:可以使用...
Dim tableArray(3, 4) As String '3行4列的表格 ``` 总的来说,理解和掌握VB中的数组是提高编程效率的关键。通过动态数组,我们可以灵活地处理各种规模的数据,而无需每次都创建新的变量。在实际项目中,善用数组能...
#### 3. **函数返回数组** 在VBA中,函数可以返回数组。示例代码中的`getdata`函数即为返回数组的例子: ```vb Private Function getdata(startrow As Long, startcoloum As Long) As information() ``` 该函数接受...