Flash AS3.0 数组应用

  • 格式:docx
  • 大小:48.31 KB
  • 文档页数:17

1

Flash AS3.0 数组应用

数组有两种形式:

第一种:数字形式的数组:

var myNumber:Array = new Array(1,2,3,4,5);

第二种:文本形式的数组:

var myString:Array=["张志晨","王升军","宋广佳"]

换言之,数组的值是字符串型的应该用 [ ] 创建,是

数字型的则用 ( )创建。

创建一维数组,同时也进行了初始化。

2 数组应用

push 在数组尾部增加一个元素

pop 删除数组的最后一个元素

shift 删除数组的第一个元素

indexof 返回该元素在数组中的位置

sort 对数组进行自定义排序

splice 将元素添加到指定的位置并删除所需元素

concat 将指定的元素与原来的数组连接

join 将数组中的元素转为字符串,在元素之间插入指定分隔符,返回字符串

unshift 在元素的开始增加一个元素

reverse 把现有的数组的顺序完全倒过来

这里都是常用的一些方法,经常会用到,还老是忘记,这里就稍微总结下,在做游戏和一些程序的时候会经常用到,用数组来存取读取简单的数据还是非常容易方便的。

3 理解数组[学习笔记]

数组:也叫索引数组。

索引数组是一个对象,其属性由表示该属性在数组中位置的数字来标识。此数字称为索引。所有索引数组都从零开始,这意味着数组中的第一个元素为 [0],第二个元素为 [1],依此类推。

4 创建数组[学习笔记]

若要创建一个 Array 对象,请使用构造函数 new Array()。如:

var myNumber:Array = new Array(1,2,3,4,5);

5 访问数组[学习笔记]

访问数组中的元素,请使用数组访问运算符 ([])。如:

myNumber[0] = 1;

6 多维数组[学习笔记]

您可以创建一个多维数组。

方法是创建一个索引数组,然后给它的每个元素分配不同的索引数组。这样的数组被视为是多维的, 2

原因是它可用于表示表中的数据。

8 数组应用1[学习笔记]

创建一个长度为0的空数组

var myArr:Array = new Array();

9 数组应用2[学习笔记]

创建一个长度为10的数组,0索引为字符串"张志晨",并添加新元素--字符串"张景利。

var myArr:Array = new Array(10);

myArr[0] = "张志晨";

myArr.push("张景利");

10 数组应用3[学习笔记]

创建一数组,并直接赋值.

var myArr:Array = new Array("得权小学", "文化小学", "红星小学");

11 二维数组[学习笔记]

中学数学无手直角坐标系中,点的坐标表示为:A(x,y)。

可是在flash里,表示为A[x][y],看上去有点散,不直观。但只要我学习AS3.0,就只能这么做。埋怨什么也没用。

//创建二维数组myArray[9][9](九九方阵):

var myArray:Array = new Array();

//赋值

for(var i=0;i<9;i++)

{

myArray[i] = new Array();

for(var j=0;j<9;j++)

{

myArray[i][j] =i*9+j

}

}

用双循环来完成。

12 回复:Flash AS3.0 数组应用[学习笔记]

中学数学 直角坐标系中,点的坐标表示为:A(x,y)。

可是在flash里,表示为A[x][y],看上去有点散,不直观。但只要我学习AS3.0,就只能这么做。埋怨什么也没用。

//创建二维数组myArray[9][9](九九方阵):

var myArray:Array = new Array(); 3

//赋值

for(var i=0;i<9;i++)

{

myArray[i] = new Array();

for(var j=0;j<9;j++)

{

myArray[i][j] =i*9+j

}

}

用双循环来完成。

13 回复:Flash AS3.0 数组应用[学习笔记]

构造函数摘要

长度 : uint

方法摘要

1. Array(numElements:int = 0)

创建一个长度为 0 或更大的新数组,或者创建由一列指定的元素(这些元素可能具有不同的数据类型)填充的数组。

使用 Array() 创建下列各项之一:

空数组

具有特定长度,但其元素未定义值的数组

其元素具有特定值的数组

使用此函数类似于使用 Array 构造函数创建数组。

您可以传递一个数字 (numElements) 或者传递包含一个或多个不同类型的一列元素 (element0,

element1, ... elementN)。

能够接受一种以上数据类型的参数以 Object 类型在签名中列出。

参数:

numElements:int(默认:0) [可选] - 一个指定数组中元素数量的正整数。您可以指定 numElements,也可以指定元素列表,但不能同时指定两者。

实例一:

创建一个长度为0的空数组

复制内容到剪贴板代码:

4

package {

import flash.display.Sprite;

public class Array_Array extends Sprite {

public function Array_Array() {

var myArr:Array = new Array();

trace(myArr.length); // 0

}

}

}

实例二:

创建一个长度为5的数组,0索引为字符串"one",并添加新元素--字符串"six"[需调用数组函数push()]

复制内容到剪贴板代码:

package {

import flash.display.Sprite;

public class Array_Array_2 extends Sprite {

public function Array_Array_2() {

var myArr:Array = new Array(5);

trace(myArr.length); // 5

myArr[0] = "one";

myArr.push("six");

trace(myArr); // one,,,,,six

trace(myArr.length); // 6

}

}

}

2. Array(... values)

创建一列新数组,并直接赋值.

语法:public function Array(numElements:int = 0)

参数:

... values --从0索引直接赋值到更多索引

实列:

创建一个长度为3的新数组,并赋值--字符串"one","two","three"

14 回复:Flash AS3.0 数组应用[学习笔记]

复制内容到剪贴板代码:

package {

import flash.display.Sprite;

public class Array_Array_3 extends Sprite {

public function Array_Array_3() { 5

var myArr:Array = new Array("one", "two", "three");

trace(myArr.length); // 3

trace(myArr); // one,two,three

}

}

}

3. concat()

将参数中指定的元素与数组中的元素连接,并创建新的数组

as3.0语法: function concat(... args):Array

参数:

... args :可以是存储各种各样的数据类型,包括数字、字符串、对象,如果赋值为空,将复制原数组并创建新数组.

返回:数组

实例:

创建numbers数组,并赋值--1,2,3

创建letters数姐,并赋值--a,b,c

创建numbersAndLetters,并从Letters数组复制所有元素到numbers数组

创建lettersAndNumbers,并从numbers数组复制所有元素到Letters数组

复制内容到剪贴板代码:

var numbers:Array = new Array(1, 2, 3);

var letters:Array = new Array("a", "b", "c");

var numbersAndLetters:Array = numbers.concat(letters);

var lettersAndNumbers:Array = letters.concat(numbers);

trace(numbers); // 1,2,3

trace(letters); // a,b,c

trace(numbersAndLetters); // 1,2,3,a,b,c

trace(lettersAndNumbers); // a,b,c,1,2,3

4.every() 方法[as3.0新增]

检测是否数组所有元素都满足 callback 函数方法指定的条件。

as3.0语法:function every(callback:Function, thisObject:* = null):Boolean

参数:

callback:Function --检测函数

thisObject:* (default = null) --判断条件

返回:布尔值

实例: