在Flex中工作我需要用相当复杂的结构来填充字典。基于this documentation page我试图创建一个字典字面通过以下语法:Flex字典文字
var defaultMarkingA =
{
type: 'page',
displayText: 'XYZ',
innerMarkings: [
{id: 'ABC', type: 'page', displayText: 'ABC'}
]
};
我希望这段代码创建一个嵌套的字典结构三个映射:
- “类型” - >“页面“
- ”displayText“ - > ”XYZ“
- ”innerMarkings“ 与另一字典=>单元素数组内部含有:
- “ID” - > “ABC”
- “类型” - > “页”
- “displayText” - > “ABC”
什么代码实际上创建是一个 “对象”,根据获取QualifiedClassName。我在这里做错了什么? actionscript无法处理嵌套字典文字?
字典和对象主要在它们支持的键类型上有所不同。对象中的键总是被串起来的,而字典可以支持任何类型的键。 – 2012-07-28 01:17:27
I + 1您的答案,但有一件事是不完全正确的:Dictionary是Object的一个子类,它基本上意味着与String关键字相关的任何值都将以与Object处理的方式完全相同的方式进行处理。因此,没有性能差异。字典通常不会带来好处,除非它们与Object键一起使用,因为在ActionScript中引用了数据:对象作为指针传递,而原始值(int,uint,Number,String)通过值传递 - 这也使“弱关键”的概念变得无关紧要。 – weltraumpirat 2012-07-28 20:02:33
缺乏我想要的语法是不幸的。此外,对象是一个关联数组...是非常奇怪的。谢谢(你的)信息。 – 2012-07-28 23:04:40