Actionscript中的数组

数组

难度: 中级
软件环境: Flash 5

如果你对数组感性趣的话,那么你也一定了解变量吧。变量是装着数据的容器,数据可以是数字、字符串或者是个布尔值。

数组与变量相似同样是做为数据的容器,但它还能包含更多的数据,每一个元素(数据中的一部分)都被附于一个索引。

数组可以用来保存你的脚本和组织结构,它们通常用来去组织一些在某些方面有些关联的数值,这些数值采用一个索引值
与数组中其它的元素区分开来。你可以用下面这个方法 去定义 3个变量::

quote1="Flash is cool!"
quote2="Flash is my favourite program"
quote3="Flash rules"

显然有一个更好的方法 去实现上面的例子 那就是 使 用 数组。有很多的方法可以创建 一个数组,但我首先展示的是最简单的方法:

name_of_array=new Array()

所以我们想去引用一个数组的话,就用这个:

quotes=new Array()

很好,现在我们有了一个数组了,但问题是那里面没有任何的数据,它是没有用处的,所以我们现在把数据放到我们的数组里面,我们
用一个索引号码去定义它在数组中的位置。

我们可以用下面的方法 把第一个元素放到数组中:

quotes[0]="Flash is cool!"

我要说的是在Flash 5中数组索引下标是基于0的,意思是在数组中的第一个元素它的索引值为0。
因此我们可以在我们的数组中的第二个元素中放入一个数据:

quotes[1]="Flash is my favourite program"

使用如下语法可以添满数组内所有元素:

name_of_array[index]=value

说明:上面的name_of_array是你数组的名子,index是你想要增加到你的数组中数据的位置。
因此我们更早的创建了使用变量的代码:

quote1="Flash is cool!"
quote2="Flash is my favourite program"
quote3="Flash rules"

也可以被写成这样:

quotes=new Array()
quotes[0]="Flash is cool!"
quotes[1]="Flash is my favourite program"
quotes[2]="Flash rules"

我们还可以采有如下的语法去创建:

name_of_array=new Array("value1","value2","value3")
这是一个在一行代码中 实现的,value1 是数组中第一个元素 value2是数组中第二个元素,以此类推。
我们使用如下语法创建我们引用的数组:

quotes=new Array("Flash is cool!","Flash is my favourite program","Flash rules")

现在我们知道该如何创建数组,并且如何去使用,在下面的这个语法中同样可以去创建 一个数姐:

name_of_array=["value1","value2","value3"]

这个与前面不同的是 没有使用数组对像(new Array())
所以我们可以这样创建引用的数组 代码如下:

quotes=["Flash is cool!","Flash is my favourite program","Flash rules"]

我不管你用什么方法做做,但我还是喜欢用这最后一个方法去创建数组,它是如此的简单。
现在我们知道 怎么创造数组,但是有时你想在脚本中访问你的数组,嗯 幸运的是还有一种方法可以实现它:

mynewvariable=name_of_array[index]

那么我们想去为一个新的变量附值为数组中第一个元素的值话 请这样做:

firstquote=quotes[0]

这个名为firstquote的新变量值就是“Flash is cool!”

在脚本中数组的实现
设想一下 如果我们想得出数组中所有的元素,但是我们并不知道数组中有多少个元素啊,还好的是Flash中为
数组对像设置了若干属性与方法,其中有一个属性为Length可以得出该数组中元素的个数。

语法如下:

myarraylength=name_of_array.length

上面的这段代码创建了一个新变量,里面的值 就是你所指定的数组对像(name_of_array)元素的个数。
在我们引用数组的情况中,使用下面的代码得到数组中元素的个数:
假如quotes是一个数组的话那么
len=quotes.length 这个len变量 的值 就是该数组的长度

数组的长度等于它的最高索引值加1。最高索引值如果是2的话那么这个数组的长度就是3,也就是说它里面有
3个元素,原因就在于Flash 5中 数组下标是基于0的。

现在我们知道了如何去用数组的Length属性了,采用下面的脚本可以得出数级中所有元素的值。

for(z=0;z<name_of_array.length;++z){
write(name_of_array[z])
}

让我们逐步来分析一下上面的代码。
首先创建了一个临时的变量 z

z=0

下列的代码是一个循环的条件,当变量z小于数组的元素长度就循环

z<name_of_array.length

然后 再作变量z的增量 使它本身加1 ;
++z

你可以在这里面放入你需要的代码 它们会被执行(name_of_array.length的值)次

for(z=0;z<quotes.length;++z){
...
}

Associative arrays:

关联数组可以提供另一种存储信息的方法,用它你可以实现采用字符串做为数组的下标而不是一个数字,这样会更容易记忆。
这样的不便是在循环中不能被采用,因为它不是一个数值。

关联数组的定义与变通数组是相同的,而唯一不同的是它采用字符串 作为索引下标

请看下面的例子,我们定义一个汽车的数组:

mycars=new Array()
mycars[0]="peugoet 306"
mycars[1]="citreon saxo"
mycars[2]="ford fiesta"

这是关联数组的格式:

mycars=new Array()
mycars["fast"]="peugoet 306"
mycars["sporty"]="citreon saxo"
mycars["old"]="ford fiesta"

用字符做索引值有时会很有用,但当在循环中检索数组是非常的不便。

现在当要得到这种类型数组中的值,你就得用字符串做为索引了,参照上面的例子写出:

mysportycar=mycars["sporty"]

结果就是变量mysportyca的值 就是"citreon saxo"

如果有任何疑问,请直接于作者联系!mailto:flashguru@flashkit.com

时间: 2024-12-09 19:21:25

Actionscript中的数组的相关文章

flash as Actionscript中的数组的使用方法_Flash As

如果你对数组感性趣的话,那么你也一定了解变量吧.变量是装着数据的容器,数据可以是数字.字符串或者是个布尔值. 数组与变量相似同样是做为数据的容器,但它还能包含更多的数据,每一个元素(数据中的一部分)都被附于一个索引. 数组可以用来保存你的脚本和组织结构,它们通常用来去组织一些在某些方面有些关联的数值,这些数值采用一个索引值与数组中其它的元素区分开来.你可以用下面这个方法 去定义 3个变量:: quote1="Flash is cool!" quote2="Flash is m

linux中Bash数组操作教程

一.定义数组 1. 使用[]操作符 names[0]='zrong' names[1]='jacky' 2. 使用()直接赋值 names=('zrong' 'jacky') # 或 names=([0]='zrong' [1]='jacky') 3. 使用declare -a定义数组.这种方法可以将一个空的变量定义成数组类型. declare -a names 4. 从文件中读取数组 cat>names.txt zrong jacky sweet Ctrl+C # 将每一行读取为数组的一个元素

指针-c语言中字符数组初始化问题

问题描述 c语言中字符数组初始化问题 字符数组初始化1: char str[]=""123"";//不报错2: char str[4]; str=""123"";//不能将const char[4] to char[4]字符指针初始化1: char *str=""123"";//不报错2: char *str; str=""123"";//不报错求

asp中利用数组实现数据库记录的批量录入方法

数据|数据库|数组 asp中利用数组实现数据库记录的批量录入方法(原创) 演示:http://www.zwtd.com/1/yanek/n/needdj2.asp <% rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)作者:yanek联系email:aspboy@263.net%> 包括两个文件 1.allneeddj.asp:实现表单的生成 2. allneeddjresult.asp 处理表单批量录入 3.hbedu.mdb :数据库文件 其数据库结构如下 provi

matrix-C++类中包含数组,如何重载运算符,第一次进入,还没有c币,求大神帮忙了,感激不尽

问题描述 C++类中包含数组,如何重载运算符,第一次进入,还没有c币,求大神帮忙了,感激不尽 这是头文件 #include #ifndef MATRIX_H_ #define MATRIX_H_ class matrix { private: double a[20][20]; int m,n; public: matrix(); matrix(const matrix&a); ~matrix(); matrix operator=(const matrix&a); friend void

asp-ASP中一维数组如何判断是否存在重复项呢

问题描述 ASP中一维数组如何判断是否存在重复项呢 请问一下,动态一维数组中如何判断数组中是否存在相同的值呢? 比如说动态数组A() A(1)="A" A(2)="B" A(3)="A" 动态数组B() B(1)=1 B(2)=2 B(3)=3 最后输出的是 A 4 B 2 就是A(1)+A(3) 相同的数组B()相加输出,不相同的直接输出B()对应的值 解决方案 a=split("A,B,A",",")

如何从PostgreSQL json中提取数组

如何从PostgreSQL json中提取数组 作者 digoal 日期 2016-09-10 标签 PostgreSQL , json , 数组 , jsonb 背景 在PostgreSQL中使用JSON类型时,除了能存,大家更关心的是JSON中的数据的使用,例如 1. VALUE支持哪些类型, 通过以下方法可以提取JSON最外层的VALUE的数据类型 json_typeof(json) jsonb_typeof(jsonb) 目前支持的类型如下 object, array, string,

asp中利用数组实现数据库记录的批量录入方法(原创),有演示,建议入精华

精华|数据|数据库|数组|原创 asp中利用数组实现数据库记录的批量录入方法(原创)演示:http://www.zwtd.com/1/yanek/n/needdj2.asp<%rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)作者:yanek联系email:aspboy@263.net%> 包括两个文件1.allneeddj.asp:实现表单的生成2. allneeddjresult.asp 处理表单批量录入3.hbedu.mdb :数据库文件其数据库结构如下provinc

C#中的数组和C++中数组的区别

区别|数组 C#中数组是引用类型,C#定义整型数组方式是:int [] intArray = {1,2,3};或int [] intArray = new int[10];而C++中定义整型数组的方式是:int intArray[] = {1,2,3};或int * intArray = new int[10];C#中的数组可以是一维的也可以是多维的,同样也支持矩阵和参差不齐的数组.注意:定义多维数组(矩阵)的方式是[,,]而定义多维"参差矩阵"的方式是[][].另外,new关键字的使