AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类。
Dictionary类和Object唯一的区别在于:
Dictionary对象可以使用非字符串作为键值对的键,而Object只能使用字符串做为键值对的键。
以下用两个简单例子来说明具体的差别:
1、使用Object:
使用Object
var a:Object = {val:135}
var b:Object = {val:248};
var obj:Object = new Object();
obj[a] = 1; // 键为对象a,值为数字1
obj[b] = 2; // 键为对象b,值为数字2
for(var p:Object in obj)
{
trace(p); // 输出键
trace(obj[p]); // 输出此键对应的值
}
输出结果:
结果分析:
因为前面说了Object的键只能使用字符串,所以当我们使用Object来做键的时候,都会被转为[object Object],
obj[a] = 1;
obj[b] = 2;
所以在这里,这两句代码的实际效果是这样的
obj["[object Object]"] = 1;
obj["[object Object]"] = 2;
当执行第二句代码的时候,实际上就是更新前面一个的值,所以才输出这样的结果也就不奇怪了。
2、使用Dictionary:
使用Dictionary
var a:Object = {val:135}
var b:Object = {val:248};
var obj:Dictionary = new Dictionary();
obj[a] = 1; // 键为对象a,值为数字1
obj[b] = 2; // 键为对象b,值为数字2
for(var p:Object in obj)
{
trace(p); // 输出键
trace(obj[p]); // 输出此键对应的值
trace(p["val"]); // 输出键(Object)的val属性的值
}
输出结果:
[object Object]
1
135
[object Object]
2
248
结果分析:
因为Dictionary和Object的区别所在,可以使用任意类型数据做键,所以能得到我们想要的结果。
所在在平时我们使用Object或其子类的时候,如果键是字符串,也可以达到键值对的效果,
但当键需要Object时,就需要Dictionary了。
分享到:
相关推荐
"iOS对象转字典 object2Dictionary"这个话题聚焦于如何将Objective-C或Swift中的对象转换成字典(NSDictionary或Swift的Dictionary类型),进而可能进一步转化为JSON格式。这种转换在序列化和反序列化过程中扮演着...
6. **哈希表(Hash Table)**:AS3的Object类实质上就是一个简单的哈希表,通过键值对快速查找和存取数据。如果需要更复杂、性能更高的哈希表,可以自定义数据结构,例如使用Dictionary类,它允许将任何类型作为键,...
在AS3(ActionScript 3)中,资源加载管理是一个重要的概念,特别是在开发富互联网应用程序(RIA)或游戏时。白鹭引擎(Egret Engine)是一个流行的2D游戏开发框架,它提供了一套完善的资源管理系统,使得资源的加载...
9. **第三方库兼容**:如果AS3CBLibrary与其它流行的库如Flex SDK或Flash CS等兼容,它可以帮助开发者更好地整合各种资源。 10. **文档和示例**:一个完整的库应该提供详尽的API文档和示例代码,帮助开发者理解和...
在AS3中,一切皆为对象,所有的类都继承自Object类。基础数据类型如Number、Boolean、String等都是类,还有Array、Dictionary等复杂的数据结构。AS3的事件模型也更为成熟,通过Event类和EventListener接口处理程序中...
在编程领域,`contains` 和 `Dictionary` 是两个非常重要的概念,特别是在面向对象的语言中,如 ActionScript。这里我们将深入探讨这两个概念,并结合提供的 `testAs2.as` 文件进行学习。 首先,`contains` 是一个...
Dim d As New Dictionary Set d = CreateObject("scripting.Dictionary") d.Add "张三", "123" d.Add "李四", "456" '对象.新增 Key,Item '注意:在本地窗口中可能看不到Item条件。 'Keys方法 '返回一个数组,...
字典是键值对的集合,与JavaScript的对象类似,但AS中的Dictionary允许非字符串作为键,提供了更灵活的数据存储。 9. 树(Tree) 树数据结构在AS中需要自定义实现,如二叉树或AVL树。树适用于需要快速查找、插入和...
总结来说,Object和Dictionary在AS3中提供了不同的数据存储和检索机制。Object更适合简单的键值对存储,而Dictionary则适用于需要基于对象引用的键值对操作,尤其在处理复杂数据结构时。理解和熟练运用这两种数据...
Dim jsonObject As Dictionary(Of String, Object) = jsonSerializer.Deserialize(Of Dictionary(Of String, Object))(jsonData) ``` 3. 将反序列化的Json对象转换为Xml,这里可以使用LINQ to XML来实现: ```vb...
AS中的Object类可以作为简单的哈希表,但其键必须为字符串类型。如果需要非字符串键,可以使用flash.utils.IDictionary接口或第三方库如dslib_0.9.5_beta提供的哈希表实现。 树(Tree)数据结构,如二叉树,用于...
Static d As Object Static i As Long Dim iDup As Integer Dim sField ' ---------------------------------------- '这里填写需要检查的字段名 sField = [A] ' ---------------------------------------- If ...
【描述】:在这款Flas转盘游戏中,核心功能实现是通过AS3编程语言来完成的。ActionScript 3是Flash平台的重要组成部分,它提供了一种强大的面向对象的编程能力,使得开发者能够创建动态、交互性的内容。转盘的运作...
在iOS开发中,尤其是使用Objective-C或Swift进行iPhone应用编程时,经常需要将对象转换为字典(Dictionary)格式,以便于数据存储、网络传输或者序列化操作。这个过程被称为对象映射(Object Mapping)。本篇文章将...
在提供的实例“通过Dictionary对象删除文档.xlsm”中,可能是通过创建一个`Dictionary`来存储某些数据的键(如单元格地址或特定标识符),然后遍历工作表,如果找到与字典中的键匹配的单元格,就删除对应的行或清除...
在台达PLC中,我们需要配置相关的CANOPEN节点ID、PDO(Process Data Object)映射以及SDO(Service Data Object)参数,以便正确地与步进电机驱动器通信。 在实际应用中,PLC通过发送PDO报文来改变步进电机的运行...
### AS3编码规范详解 #### 一、概述 AS3编码规范是一套旨在提升Adobe Flash平台应用程序质量和可维护性的指导原则。本规范由Artlee在2010年提出,结合了作者多年来的Flash项目开发及管理经验,吸收了驼峰命名法与...
在拼图游戏的实现过程中,还会涉及到一些其他关键概念,如时间轴控制(Timeline Control)、对象实例化(Object Instantiation)以及数组和对象字典(Array和Object Dictionary)的使用,这些都对于管理拼图块的状态...
关于java习惯的笔试题as2cs 将一些语法从 ActionScript 3 转换为 C# 再从 C# 转换回 ActionScript 3 的小例子。比较兼容的语法。 使用 SimpleParse 的 Typographify 示例来自 David Mertz 受版权保护的文章,在该...