Just encountered the same problem as Mr. midnightgreen here: http://www.actionscript.org/forums/showthread.php3?t=259338

Here’s his nice sample code in case the link above dies

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// create a Dictionary with a single element
var myDictionary:Dictionary = new Dictionary();
// var myDictionary:Object = new Object(); // if I use an Object it will run Once as it should even with Arrays as keys

var myArray:Array = new Array(); // if I use Array as the key, then it will run twice even with one element!
myDictionary[myArray] = 1;

//myDictionary["String"] = 1; // if I use String as the Key, then it will run once

var counter:int = 0;

// loop through the Objects in the Dictionary, and modify them
for (var objInDic:Object in myDictionary)
{ counter++;

myDictionary[objInDic] =1;
}

trace("Loop has run: " + counter); // 2
//the loop run twice, even though there is only one object in the Dictionary

TODO: post to Adobe