Search code examples
actionscript-3flash

loop through object properties in flash


I have an object that gets properties added in this sequence.

Home
School
living
status
sound
Memory

When I loop through the object they don't come out in that sequence. How do I get them to come out in this order.

data is the object

for (var i:String in data)
{
    trace(i + ": " + data[i]);
}

Is there a way to sort it maybe?


Solution

  • The only way to sort the order that you can access properties is manually. Here is a function I have created for you to do just that:

    function getSortedPairs(object:Object):Array
    {
        var sorted:Array = [];
    
        for(var i:String in object)
        {
            sorted.push({ key: i, value: object[i] });
        }
    
        sorted.sortOn("key");
    
        return sorted;
    }
    

    Trial:

    var test:Object = { a: 1, b: 2, c: 3, d: 4, e: 5 };
    var sorted:Array = getSortedPairs(test);
    
    for each(var i:Object in sorted)
    {
        trace(i.key, i.value);
    }