




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ActionScript3.0语言和组件参考(Array)包顶级类public dynamic class Array继承Array Object语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9使用 Array 类可以访问和操作数组。 Array 索引从零开始,这意味着数组中的第一个元素为 0,第二个元素为 1,依此类推。 要创建 Array 对象,可以使用 new Array() 构造函数。 Array() 还可以作为函数调用。 此外,还可以使用数组访问 () 运算符初始化数组或访问数组元素。 您可以在数组元素中存储各种各样的数据类型,包括数字、字符串、对象,甚至是其它数组。 您可以创建一个多维 数组,方法是创建一个索引数组,然后给它的每个元素分配不同的索引数组。 这样的数组被视为是多维的,原因是它可用于表示表中的数据。数组是稀疏数组,这意味着可能存在这样的情况:在索引 0 处有一个元素,在索引 5 处有另一个元素,而这两个元素之间的索引位置却是空的。 在这种情况下,位置 1 至位置 4 的元素是未定义的,表示这些位置不存在元素,而不一定存在值为 undefined 的元素。数组赋值是通过引用而不是通过值进行的。 如果将一个数组变量赋值给另一个数组变量,则这两个变量引用同一个数组: var oneArray:Array = new Array(a, b, c); var twoArray:Array = oneArray; / Both array variables refer to the same array. twoArray0 = z; trace(oneArray); / Output: z,b,c. 请不要使用 Array 类创建关联数组(也称为哈希),关联数组是包含命名元素而不包含编号元素的数据结构。 要创建关联数组,请使用 Object 类。 虽然 ActionScript 允许使用 Array 类创建关联数组,但不能对关联数组使用 Array 类的任何方法或属性。 可以扩展 Array 类并覆盖或添加方法。 但是,必须将子类指定为 dynamic,否则将无法在数组中存储数据。查看示例另请参见 (array access)Object class公共属性隐藏继承的公共属性显示继承的公共属性属性定义方constructor : Object 对类对象或给定对象实例的构造函数的引用。Objectlength : uint 指定数组中元素数量的非负整数。Arrayprototype : Object 静态 对类或函数对象的原型对象的引用。Object公共方法 隐藏继承的公共方法显示继承的公共方法方法定义方Array(numElements:int = 0)允许创建指定元素数量的数组。ArrayArray(. values)允许创建包含指定元素的数组。Arrayconcat(. args):Array将参数中指定的元素与数组中的元素连接,并创建新的数组。Arrayevery(callback:Function, thisObject:* = null):Boolean对数组中的每一项执行测试函数,直到获得对指定的函数返回 false 的项。Arrayfilter(callback:Function, thisObject:* = null):Array对数组中的每一项执行测试函数,并构造一个新数组,其中的所有项都对指定的函数返回 true。ArrayforEach(callback:Function, thisObject:* = null):void对数组中的每一项执行函数。ArrayhasOwnProperty(name:String):Boolean指示对象是否已经定义了指定的属性。 ObjectindexOf(searchElement:*, fromIndex:int = 0):int使用全等运算符 (=) 搜索数组中的项,并返回该项的索引位置。ArrayisPrototypeOf(theClass:Object):Boolean指示 Object 类的实例是否在指定为参数的对象的原型链中。 Objectjoin(sep:*):String将数组中的元素转换为字符串、在元素间插入指定的分隔符、连接这些元素然后返回结果字符串。ArraylastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int使用全等运算符 (=) 搜索数组中的项(从最后一项开始向前搜索),并返回匹配项的索引位置。Arraymap(callback:Function, thisObject:* = null):Array对数组中的每一项执行函数并构造一个新数组,其中包含与原始数组中的每一项的函数结果相对应的项。Arraypop():*删除数组中最后一个元素,并返回该元素的值。ArraypropertyIsEnumerable(name:String):Boolean指示指定的属性是否存在、是否可枚举。 Objectpush(. args):uint将一个或多个元素添加到数组的结尾,并返回该数组的新长度。Arrayreverse():Array在当前位置倒转数组。ArraysetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void设置循环操作动态属性的可用性。Objectshift():*删除数组中第一个元素,并返回该元素。Arrayslice(startIndex:int = 0, endIndex:int = 16777215):Array返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。Arraysome(callback:Function, thisObject:* = null):Boolean对数组中的每一项执行测试函数,直到获得返回 true 的项。Arraysort(. args):Array对数组中的元素进行排序。ArraysortOn(fieldName:Object, options:Object = null):Array根据数组中的一个或多个字段对数组中的元素进行排序。Arraysplice(startIndex:int, deleteCount:uint, . values):Array给数组添加元素以及从数组中删除元素。ArraytoLocaleString():String返回一个字符串,它表示指定数组中的元素。ArraytoString():String返回一个字符串,它表示指定数组中的元素。Arrayunshift(. args):uint将一个或多个元素添加到数组的开头,并返回该数组的新长度。ArrayvalueOf():Object返回指定对象的原始值。Object公共常量常量定义方CASEINSENSITIVE : uint = 1 静态 指定 Array 类排序方法为不区分大小写的排序。ArrayDESCENDING : uint = 2 静态 指定 Array 类排序方法为降序排序。ArrayNUMERIC : uint = 16 静态 指定 Array 类排序方法为数值(而不是字符串)排序。ArrayRETURNINDEXEDARRAY : uint = 8 静态 指定排序返回的数组包含数组索引。ArrayUNIQUESORT : uint = 4 静态 指定 Array 类排序方法的唯一排序要求。Array属性详细信息length属性length:uint读写 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9指定数组中元素数量的非负整数。 在向数组中添加新元素时,此属性会自动更新。 当您给数组元素赋值(例如,my_arrayindex = value)时,如果 index 是数字,而且 index+1 大于 length 属性,则 length 属性会更新为 index+1。 注意:如果您为 length 属性所赋的值小于现有长度,会将数组截断。实现 public function get length():uintpublic function set length(value:uint):void示例 下面的代码创建一个 Array 对象 names,其中包含字符串元素 Bill。 然后它使用 push() 方法添加另外一个字符串元素 Kyle。 数组的长度由 length 属性确定,在使用 push() 之前是一个元素,在调用 push() 之后是两个元素。 添加另外一个字符串 Jeff 以使 names 的长度变为三个元素。 然后,两次调用 shift() 方法以删除 Bill 和 Kyle,从而使最终数组的 length 变为一。 var names:Array = new Array(Bill);names.push(Kyle);trace(names.length); / 2names.push(Jeff);trace(names.length); / 3names.shift();names.shift();trace(names.length); / 1构造函数详细信息Array()构造函数public function Array(numElements:int = 0) 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9允许创建指定元素数量的数组。 如果不指定任何参数,则创建包含 0 个元素的数组。 如果指定多个元素,则创建包含 numElements 个元素的数组。 注意:此类显示了两个构造函数方法项,这是因为此构造函数接受的参数的类型和数量可变。 根据传递的参数类型和数量的不同(由每一项详细定义),此构造函数具有不同的行为。 ActionScript 3.0 不支持方法或构造函数重载。参数 numElements:int (default = 0) 一个指定数组中元素数量的整数。 引发 RangeError 该参数不是大于等于 0 的整数。 另请参见 array accessArray.length示例 下面的示例创建 Array 对象 myArr,该对象没有参数且初始长度为 0: package import flash.display.Sprite; public class Array_Array extends Sprite public function Array_Array() var myArr:Array = new Array(); trace(myArr.length); / 0 下例创建一个 Array 对象,该对象包含 5 个初始元素,长度为 5,并用字符串 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 myArr0 = one; myArr.push(six); trace(myArr); / one,six trace(myArr.length); / 6 Array()构造函数public function Array(. values) 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9允许创建包含指定元素的数组。 您可以指定任何类型的值。 数组中第一个元素的索引(或位置)始终为 0。 注意:此类显示了两个构造函数项,这是因为此构造函数接受的参数的类型和数量可变。 根据传递的参数类型和数量的不同(由每一项详细定义),此构造函数具有不同的行为。 ActionScript 3.0 不支持方法或构造函数重载。参数 . values 一个以逗号分隔的列表,包含一个或多个任意值。 注意:如果传递给 Array 构造函数的只有一个单数值参数,则认为该参数指定数组的 length 属性。引发 RangeError 该参数不是大于等于 0 的整数。 另请参见 array accessArray.length示例 下例创建一个新的 Array 对象,该对象初始长度为 3,并用字符串元素 one、two 和 three 填充数组,然后将这些元素转换为字符串。 package import flash.display.Sprite; public class Array_Array_3 extends Sprite public function Array_Array_3() var myArr:Array = new Array(one, two, three); trace(myArr.length); / 3 trace(myArr); / one,two,three 方法详细信息concat()方法AS3 function concat(. args):Array 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9将参数中指定的元素与数组中的元素连接,并创建新的数组。 如果这些参数指定了一个数组,将连接该数组中的元素。 参数 . args 要连接到新数组中的任意数据类型的值(如数字、元素或字符串)。 如果未传递任何值,则新数组将是原始数组的副本。 返回 Array 一个数组,其中包含此数组中的元素,后跟参数中的元素。 示例 以下代码创建四个 Array 对象: 包含数字 1、2 和 3 的 numbers 数组。 包含字母 a、b 和 c 的 letters 数组。 调用 concat() 方法生成数组 1,2,3,a,b,c 的 numbersAndLetters 数组。 调用 concat() 方法生成数组 a,b,c,1,2,3 的 lettersAndNumbers 数组。 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,3trace(letters); / a,b,ctrace(numbersAndLetters); / 1,2,3,a,b,ctrace(lettersAndNumbers); / a,b,c,1,2,3every()方法AS3 function every(callback:Function, thisObject:* = null):Boolean 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9对数组中的每一项执行测试函数,直到获得对指定的函数返回 false 的项。 使用此方法可确定数组中的所有项是否满足某一条件,如具有的值小于某一特定数值。 参数 callback:Function 要对数组中的每一项运行的函数。 该函数可以包含简单的比较操作(例如,item 20)或者更复杂的操作,并用三个参数来调用,即项值、项索引和 Array 对象: function callback(item:*, index:int, array:Array):Boolean;thisObject:* (default = null) 用作函数的 this 的对象。 返回 Boolean 如果数组中的所有项对指定的函数都返回 true,则为布尔值 true;否则为 false。 另请参见Array.some()示例 下面的示例测试两个数组,以确定每个数组中的每一项是否都是数字。 还输出了测试结果,说明对于第一个数组,isNumeric 是 true,对于第二个数组则是 false: package import flash.display.Sprite; public class Array_every extends Sprite public function Array_every() var arr1:Array = new Array(1, 2, 4); var res1:Boolean = arr1.every(isNumeric); trace(isNumeric:, res1); / true var arr2:Array = new Array(1, 2, ham); var res2:Boolean = arr2.every(isNumeric); trace(isNumeric:, res2); / false private function isNumeric(element:*, index:int, arr:Array):Boolean return (element is Number); filter()方法AS3 function filter(callback:Function, thisObject:* = null):Array 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9对数组中的每一项执行测试函数,并构造一个新数组,其中的所有项都对指定的函数返回 true。 如果某项返回 false,则新数组中将不包含此项。 参数 callback:Function 要对数组中的每一项运行的函数。 该函数可以包含简单的比较操作(例如,item 20)或者更复杂的操作,并用三个参数来调用,即项值、项索引和 Array 对象: function callback(item:*, index:int, array:Array):Boolean;thisObject:* (default = null) 用作函数的 this 的对象。 返回 Array 一个新数组,它包含原始数组中返回 true 的所有项。 另请参见Array.map()示例 下面的示例创建一个数组,其中包括职务为经理的所有员工: package import flash.display.Sprite; public class Array_filter extends Sprite public function Array_filter() var employees:Array = new Array(); employees.push(name:Employee 1, manager:false); employees.push(name:Employee 2, manager:true); employees.push(name:Employee 3, manager:false); trace(Employees:); employees.forEach(traceEmployee); var managers:Array = employees.filter(isManager); trace(Managers:); managers.forEach(traceEmployee); private function isManager(element:*, index:int, arr:Array):Boolean return (element.manager = true); private function traceEmployee(element:*, index:int, arr:Array):void trace(t + + (element.manager) ? (manager) : ); forEach()方法AS3 function forEach(callback:Function, thisObject:* = null):void 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9对数组中的每一项执行函数。 参数 callback:Function 要对数组中的每一项运行的函数。 此函数可以包含简单的命令(如 trace() 语句)或者更复杂的操作,并用三个参数来调用,即项值、项索引和 Array 对象: function callback(item:*, index:int, array:Array):void;thisObject:* (default = null) 用作函数的 this 的对象。 示例 下面的示例对数组中的每一项运行 traceEmployee() 函数中的 trace() 语句: package import flash.display.Sprite; public class Array_forEach extends Sprite public function Array_forEach() var employees:Array = new Array(); employees.push(name:Employee 1, manager:false); employees.push(name:Employee 2, manager:true); employees.push(name:Employee 3, manager:false); trace(employees); employees.forEach(traceEmployee); private function traceEmployee(element:*, index:int, arr:Array):void trace( + ( + element.manager + ); 下面的示例也对数组中的每一项运行略有变化的 traceEmployee() 函数中的 trace() 语句: package import flash.display.Sprite; public class Array_forEach_2 extends Sprite public function Array_forEach_2() var employeeXML:XML = ; var employeesList:XMLList = employeeXML.employee; var employeesArray:Array = new Array(); for each (var tempXML:XML in employeesList) employeesArray.push(tempXML); employeesArray.sortOn(name); employeesArray.forEach(traceEmployee); private function traceEmployee(element:*, index:Number, arr:Array):void trace( + (element.manager = true) ? (manager) : ); indexOf()方法AS3 function indexOf(searchElement:*, fromIndex:int = 0):int 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9使用全等运算符 (=) 搜索数组中的项,并返回项的索引位置。 参数 searchElement:* 要在数组中查找的项。 fromIndex:int (default = 0) 数组中的位置,从该位置开始搜索项。 返回 int 数组项的索引位置(从 0 开始)。 如果未找到 searchElement 参数,则返回值为 -1。 另请参见Array.lastIndexOf()= (strict equality)示例 下面的示例显示指定数组的位置: package import flash.display.Sprite; public class Array_indexOf extends Sprite public function Array_indexOf() var arr:Array = new Array(123,45,6789); arr.push(123-45-6789); arr.push(987-65-4321); var index:int = arr.indexOf(123); trace(index); / -1 var index2:int = arr.indexOf(123); trace(index2); / 0 join()方法AS3 function join(sep:*):String 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9将数组中的元素转换为字符串、在元素间插入指定的分隔符、连接这些元素然后返回结果字符串。 嵌套数组总是以逗号 (,) 分隔,而不使用传递给 join() 方法的分隔符分隔。 参数 sep:* (default = NaN) 在返回字符串中分隔数组元素的字符或字符串。 如果省略此参数,则使用逗号作为默认分隔符。 返回 String 一个字符串,由转换为字符串并由指定参数分隔的数组元素组成。 另请参见String.split()示例 下面的代码创建一个 Array 对象 myArr,其中包含元素 one、two 和 three,然后创建一个包含 one and two and three 的字符串(使用 join() 方法)。 var myArr:Array = new Array(one, two, three);var myStr:String = myArr.join( and );trace(myArr); / one,two,threetrace(myStr); / one and two and three下面的代码创建一个 Array 对象 specialChars,其中包含元素 (、)、- 和一个空格,然后创建一个字符串,其中包含 (888) 867-5309。 然后使用 for 循环,删除 specialChars 中列出的每种类型的特殊字符,以生成一个字符串 (myStr),该字符串中仅包含剩余的电话号码数字:888675309。 请注意,其它字符(如 +)可能已添加到了 specialChars 中,这样此例程即可处理国际电话号码格式。 var phoneString:String = (888) 867-5309;var specialChars:Array = new Array(, ), -, );var myStr:String = phoneString;var ln:uint = specialChars.length;for(var i:uint; i ln; i+) myStr = myStr.split(specialCharsi).join();var phoneNumber:Number = new Number(myStr);trace(phoneString); / (888) 867-5309trace(phoneNumber); / 8888675309lastIndexOf()方法AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9搜索数组中的项(从最后一项开始向前搜索),并使用全等运算符 (=) 返回匹配项的索引位置。 参数 searchElement:* 要在数组中查找的项。 fromIndex:int (default = 0x7fffffff) 数组中的位置,从该位置开始搜索项。 默认为允许的最大索引值。 如果不指定 fromIndex,将从数组中的最后一项开始进行搜索。 返回 int 数组项的索引位置(从 0 开始)。 如果未找到 searchElement 参数,则返回值为 -1。 另请参见Array.indexOf()= (strict equality)示例 下面的示例显示指定数组的位置: package import flash.display.Sprite; public class Array_lastIndexOf extends Sprite public function Array_lastIndexOf() var arr:Array = new Array(123,45,6789,123,984,323,123,32); var index:int = arr.indexOf(123); trace(index); / 0 var index2:int = arr.lastIndexOf(123); trace(index2); / 6 map()方法AS3 function map(callback:Function, thisObject:* = null):Array 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9对数组中的每一项执行函数并构造一个新数组,其中包含与原始数组中的每一项的函数结果相对应的项。 参数 callback:Function 要对数组中的每一项运行的函数。 此函数可以包含简单的命令(如更改字符串数组的大小写)或更复杂的操作,并用 3 个参数来调用,即项值、项索引和 Array 对象: function callback(item:*, index:int, array:Array):void;thisObject:* (default = null) 用作函数的 this 的对象。 返回 Array 一个新数组,其中包含此函数对原始数组中每一项的执行结果。 另请参见Array.filter()示例 下面的示例将数组中的所有项更改为使用大写字母: package import flash.display.Sprite; public class Array_map extends Sprite public function Array_map() var arr:Array = new Array(one, two, Three); trace(arr); / one,two,Three var upperArr:Array = arr.map(toUpper); trace(upperArr); / ONE,TWO,THREE private function toUpper(element:*, index:int, arr:Array):String return String(element).toUpperCase(); pop()方法AS3 function pop():* 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9删除数组中最后一个元素,并返回该元素的值。 返回 * 指定的数组中最后一个元素(可以为任意数据类型)的值。 另请参见Array.push()Array.shift()Array.unshift()示例 下面的代码创建一个 Array 对象 letters,其中包含元素 a、b 和 c。 然后使用 pop() 方法将最后一个元素 (c) 从数组中删除,并将该元素分配给 String 对象 letter。 var letters:Array = new Array(a, b, c);trace(letters); / a,b,cvar letter:String = letters.pop();trace(letters); / a,btrace(letter); / cpush()方法AS3 function push(. args):uint 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9将一个或多个元素添加到数组的结尾,并返回该数组的新长度。 参数 . args 要追加到数组中的一个或多个值。 返回 uint 一个表示新数组长度的整数。 另请参见Array.pop()Array.shift()Array.unshift()示例 下面的代码创建一个空的 Array 对象 letters,然后用如下元素填充数组:a、b 和 c(使用 push() 方法)。 var letters:Array = new Array();letters.push(a);letters.push(b);letters.push(c);trace(letters.toString(); / a,b,c下面的代码创建一个 Array 对象 letters,最初用以下元素填充:a。 然后,使用一次 push() 方法将元素 b 和 c 添加到数组的末尾,使用 push 方法后数组中就有了 3 个元素。 var letters:Array = new Array(a);var count:uint = letters.push(b, c);trace(letters); / a,b,ctrace(count); / 3reverse()方法AS3 function reverse():Array 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9在当前位置倒转数组。 返回 Array 新数组。 示例 下面的代码创建一个 Array 对象 letters,其中包含元素 a、b 和 c。 然后逆转数组元素的顺序(使用 reverse() 方法)以生成数组 c,b,a。 var letters:Array = new Array(a, b, c);trace(letters); / a,b,cletters.reverse();trace(letters); / c,b,ashift()方法AS3 function shift():* 语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9删除数组中第一个元素,并返回该元素。 其余数组元素将从其原始位置 i 移至 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版体育产业赛事运营委托合同
- 贵州省望谟县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年度国际艺术品拍卖销售合同-全球艺术市场合作
- 第09练树立总体国家安全观八年级上学期道德与法治(解析版)【寒假作业】
- 2025便利店劳动合同范本:员工晋升与绩效考核
- 贵州省台江县2025年上半年事业单位公开遴选试题含答案分析
- 婚庆现场主持开场白范文
- 偏见传播路径研究-洞察及研究
- 2025年铁路安全常识题库含答案学生版
- 灌肠术课件教学课件
- 江苏省常州市2025年初中地理学业水平考试真题(含答案)
- 猪场员工安全培训课件
- 颅内感染解读
- (高清版)DB31∕T 1550-2025 动物无害化处理场所生物安全技术规范
- 2025至2030中国农资连锁超市行业发展趋势分析与未来投资战略咨询研究报告
- QGDW11447-202410kV-500kV输变电设备交接试验规程
- 肺栓塞的中医护理
- 2024第41届全国中学生物理竞赛预赛试题(含答案)
- 诊所护士劳动合同协议
- 支气管炎护理
- TCAICI39-2022《通信光缆附挂供电杆路技术规范》
评论
0/150
提交评论