Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flex字典文本_Actionscript 3_Apache Flex - Fatal编程技术网

Actionscript 3 Flex字典文本

Actionscript 3 Flex字典文本,actionscript-3,apache-flex,Actionscript 3,Apache Flex,在Flex中工作时,我需要用相当复杂的结构填充字典。基于,我尝试通过以下语法创建字典文本: var defaultMarkingA = { type: 'page', displayText: 'XYZ', innerMarkings: [ {id: 'ABC', type: 'page', displayText: 'ABC'} ]

在Flex中工作时,我需要用相当复杂的结构填充字典。基于,我尝试通过以下语法创建字典文本:

    var defaultMarkingA =
        {
            type: 'page',
            displayText: 'XYZ',
            innerMarkings: [
                {id: 'ABC', type: 'page', displayText: 'ABC'}
            ]
        };
我希望这段代码创建一个嵌套的字典结构,它有三个映射:

  • “键入“->”页”
  • “显示文本”->“XYZ”
  • “InnerMarkers”=>包含另一个字典的单元素数组,其中包含:
  • “id”->“ABC”
  • “键入“->”页”
  • “显示文本”->“ABC”

  • 根据getQualifiedClassName,代码实际创建的是一个“对象”。我做错了什么?actionscript是否无法处理嵌套的字典文本?

    您没有做错任何事情,这不是生成所需结构的方法。使用
    something={}
    something=newobject()
    的缩写。创建
    词典
    没有这种速记方法

    发件人:

    关联数组是对象类的实例,这意味着 每个键对应一个属性名称

    ActionScript 3.0引入了一种高级关联数组 我叫字典。字典,它们是 在flash.utils包中的Dictionary类中,使用 任何数据类型,但通常是对象类的实例。换句话说 单词、字典键不限于字符串类型的值

    要获得预期结果,您必须执行以下操作:

    var defaultMarkingA:Dictionary = new Dictionary();
    defaultMarkingA["type"] = "page";
    defaultMarkingA["displayText"] = "XYZ";
    defaultMarkingA["innerMarkings"] = new Array();
    
    var dict:Dictionary = new Dictionary();
    dict["id"] = "ABC";
    dict["type"] = "page";
    dict["displayText"] = "ABC";
    
    defaultMarkingA["innerMarkings"].push(dict);
    

    对象
    用作关联数组没有什么错。我能看到的唯一问题是,使用
    对象
    字典
    之间的性能可能会有所不同,但您需要进行一些分析,以确定a)是否存在任何差异,b)这种差异是否重要。

    您没有做错任何事情,这不是创建所需结构的方法。使用
    something={}
    something=newobject()
    的缩写。创建
    词典
    没有这种速记方法

    发件人:

    关联数组是对象类的实例,这意味着 每个键对应一个属性名称

    ActionScript 3.0引入了一种高级关联数组 我叫字典。字典,它们是 在flash.utils包中的Dictionary类中,使用 任何数据类型,但通常是对象类的实例。换句话说 单词、字典键不限于字符串类型的值

    要获得预期结果,您必须执行以下操作:

    var defaultMarkingA:Dictionary = new Dictionary();
    defaultMarkingA["type"] = "page";
    defaultMarkingA["displayText"] = "XYZ";
    defaultMarkingA["innerMarkings"] = new Array();
    
    var dict:Dictionary = new Dictionary();
    dict["id"] = "ABC";
    dict["type"] = "page";
    dict["displayText"] = "ABC";
    
    defaultMarkingA["innerMarkings"].push(dict);
    

    对象
    用作关联数组没有什么错。我所能看到的唯一问题是,使用
    Object
    Dictionary
    的性能可能会有所不同,但您需要进行一些分析,以确定a)是否存在任何差异,b)这种差异是否重要。

    字典和对象主要不同于它们支持的键类型。对象中的键始终是字符串,而字典可以支持任何类型的键。我想知道你的答案,但有一点不太正确:字典是对象的一个子类,这本质上意味着与字符串键关联的任何值都将以与对象完全相同的方式处理。因此,没有性能差异。字典通常不会带来任何好处,除非它们与对象键一起使用,因为ActionScript中引用数据的方式是:对象作为指针传递,而基本值(int、uint、Number、String)是按值传递的,这也就形成了“weakKeys”的概念不相关。缺少我想要的语法是不幸的。此外,作为关联数组的对象是。。。很奇怪。感谢您提供的信息。字典和对象的主要区别在于它们支持的键的类型。对象中的键始终是字符串,而字典可以支持任何类型的键。我想知道你的答案,但有一点不太正确:字典是对象的一个子类,这本质上意味着与字符串键关联的任何值都将以与对象完全相同的方式处理。因此,没有性能差异。字典通常不会带来任何好处,除非它们与对象键一起使用,因为ActionScript中引用数据的方式是:对象作为指针传递,而基本值(int、uint、Number、String)是按值传递的,这也就形成了“weakKeys”的概念不相关。缺少我想要的语法是不幸的。此外,作为关联数组的对象是。。。很奇怪。谢谢你的信息。