how to add an attribute to an existing array dynamically in Flex

筅森魡賤 提交于 2020-01-16 19:38:29

问题


I have an 2D array as:

Asia India 100 200
Asia China 200 300

I need to add an attribute named "state" with value false to this above array (internally) as an additional column to the above array where my output is :

Asia India 100 200 state:false
Asia China 200 300 state:false

so that I can give the additional column's attribute name "state" to item renderer. How to get the same.?Is it possible?


回答1:


For lines:

var originalArray:Array = //your original array

var newArray:Array = new Array();

 for each ( var o:Object in originalArray){
    o.state = "false";
    newArray.push(o);
 }

 originalArray = newArray;

 trace(originalArray[0]) // Asia India 100 200
 trace(originalArray.state) //false

using Array.map() should work too.

For invidual objects:

        protected function addStates():void
        {

            var originalArray:Array = //your original array
            var newArray:Array = new Array();               

            for each( var o:Object in originalArray){                       
                var tempArray:Array = new Array();
                for each(var element:* in o){
                    var newObject:Object = new Object();
                    newObject.element = element;
                    newObject.state = "false";
                    tempArray.push(newObject);

                }
                newArray.push(tempArray);
            }

            originalArray = newArray;       
            trace(originalArray[0][1].element); // India
            trace(originalArray[0][1].state); // false

        }

If someone has a better/faster way I am interested to hear it.



来源:https://stackoverflow.com/questions/17919428/how-to-add-an-attribute-to-an-existing-array-dynamically-in-flex

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!