Есть следующий многомерный массив

Код:
Ar = []
Ar[0] = {}
Ar[0]["шило"] = {}
Ar[0]["шило"].count = 10
Ar[0]["шило"].color = "red"
Ar[0]["веревка"] = {}
Ar[0]["веревка"].count = 30
Ar[0]["веревка"].color = "синяя"
Ar[0]["мыло"] = {}
Ar[0]["мыло"].count = 2
Ar[0]["мыло"].color = "белое"
//...
exp(Ar[0]) //мыло
//веревка
//шило
Ar[0].sort();
exp(Ar[0]) //мыло
//веревка
//шило
Ar[0].sort(Array.DESCENDING);
exp(Ar[0]) //мыло
//веревка
//шило
function exp(obj:Object, full:Boolean):Void
{
if(full) ASSetPropFlags(obj, null, null, 7)
for (var i in obj){
trace (i+' :: '+obj[i]);
}
}
Насколько я понимаю sort в данном случае не работает sortOn тоже, поскольку по сути требуется отсортировать свойства объекта.
Если возможность как-то отсортировать данный массив так что бы выводилась последовательность: шило, мыло, верёвка?