- 1、本文档共120页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
到目前为止,涉及的数组均可被称作密集数组。这意味着,每个元素均呈现某种形式的值。 ActionScript 3 还支持稀疏数组。稀疏数组允许存在元素缺失。 下面的代码用于创建稀疏数组,如代码后的图形所示。 var elements:Array = new Array(); elements[ 0 ] = A; elements[ 1 ] = B; elements[ 3 ] = C; elements[ 4 ] = D; elements[ 6 ] = E; 请注意,索引 0、1、3、4 和 6 位置均包含元素,该数组中不存在其余位置。 如果要在此数组上执行以下代码行: trace(elements[ 2 ]); //undefined 多维数组 var elements:Array = []; elements[ 0 ] = [ A, B, C ]; elements[ 1 ] = [ D, E, F ]; elements[ 3 ] = [ G, H, I ]; trace( elements[ 0 ][ 0 ] ); //A 关联数组 关联数组(associative array)通常称为映射(map),它是另一种简单数据结构或在计算机中存储数据的方法。 它们通过键(key)或标签(label)来存储给定的信息。 之后,该键将用于查询或改变相应的数据。 当你添加或删除元素时,映射(map)的尺寸能够增大或减小。 在ActionScript 3中,可以使用 Object 类或 Dictionary 类创建映射(map)。 基于Object创建映射 Object 被认为是动态类。 这意味着它与你目前已经学会创建的类不同,它的所有属性并不是在编译时均已知,这使得能够在任何时间添加和删除属性。 var map:Object = new Object(); 1 = Lee; trace( 1 ); //Lee trace( 2 ); //undefined 在内部,该对象用作一个映射(map)和关联的键值对(key-value pairs)。 其内部结构应该如下所示: Key Value name1 Lee Array语法 尽管任何类型的值均能够在一个映射的内部存储,但键的类型总是String 如果键是包含空格或ActionScript 3属性名称不允许的其它字符的更为复杂的字符串,则你必须使用 array语法 [] map[password please] = Fireplace; map.username = MLY; Key Value password please Fireplace username MLY Literal语法 能够以下列方式将键值对(key-value pairs)作为对象结构的一部分提供: var map:Object = {name1:Alan, name2:Lee}; Key Value name1 Alan name2 Lee 删除键 通过 ActionScript 3 delete 运算符可以执行从一个Object中删除一个键的操作。 var map:Object = {name1:Alan, name2:Lee}; delete map[ name1 ]; Key Value name2 Lee 键存在性(Key Existence) 使用名称为 hasOwnProperty()的Object类的一个方法检查一个已知键是否在映射中存在。如果该键存在,则hasOwnProperty() 返回true;但如果该键不存在,则hasOwnProperty()返回false。 var map:Object = {name1:Alan, name2:Lee}; map.hasOwnProperty(name1); //true map.hasOwnProperty(name2); //true map.hasOwnProperty(name3); //false delete map[name1]; map.hasOwnProperty(name1); //false map.hasOwnProperty(name2); //true map.hasOwnProperty(name3); //false 循环 在 ActionScript 3中有两种循环语句能够直接使用映射:它们是for..in 循环语句和for each..in 循环语句。 这两种循环均能够提供基于映射的重复方法,以便寻找或列举键和值。 for..in循环语句 var map:Object = {name1:Alan, name2:Lee}; for(
文档评论(0)