Efficient looping through AS3 dictionary

Bart van Heukelom picture Bart van Heukelom · Mar 5, 2010 · Viewed 46.6k times · Source
for (var k in dictionary) 
{
  var key:KeyType = KeyType(k);
  var value:ValType = ValType(dictionary[k]); // <-- lookup
  // do stuff
}

This is what I use to loop through the entries in a dictionary. As you can see in every iteration I perform a lookup in the dictionary. Is there a more efficient way of iterating the dictionary (while keeping access to the key)?

Answer

Patrick picture Patrick · Mar 5, 2010

Iterate through keys & values:

for (var k:Object in dictionary) {
    var value:ValType = dictionary[k];
    var key:KeyType = k;
}

Iterate through values more concisely:

for each (var value:ValType in dictionary) {

}