2010-06-07 114 views
0

我需要动态地生成这样动态生成的对象

{type:"typeA",size28:0,size29:0,size30:0 etc...} 

一个对象,我得到的尺寸从一个XML文件作为一个数组,我需要将其插入这样

{type:"typeA",here the generated size array but as the object properties} 

哪有我这样做?

在此先感谢。

回答

1

我假定该阵列的长度是可变的:

var obj : Object = {type:"typeA"} 
for (var i : int = 0; i < generatedArray.length; i++) { 
    obj['size'+(28+i)] = generatedArray[i]; 
} 
+1

1。正确的解决方案。虽然我不明白为什么将'name1'属性设置为'name247'比数组更好:D – back2dos 2010-06-07 10:45:26

+0

我将此对象用作flex中datagrid的行。我的ArrayCollection由这样的多个对象组成。 – chchrist 2010-06-07 10:58:22

1
var xmlData:XML = <obj> 
         <contents>size28:5,size29:3,size30:9</contents> 
        </obj>; 


var obj:Object = new Object(); 

var xmlObjArray:Array = xmlData.contents.split(","); 

for (var i in xmlObjArray) 
{ 
    var objProp:Array = xmlObjArray[i].split(":"); 
    obj[objProp[0]] = objProp[1]; 
} 


trace (obj.size29);