я бы добавил колбек в sort() первого массива и в нем бы сортировал второй... ну, скажем для коротких массивов это может быть не актуально, но для длинных - это ж нужно будет добавить целый массив фейк объектов которые нужны только для сортировки...

Код AS3:
// 1, 2, 2, 3, 12
var a1:Array = [12, 3, 1, 2, 2];
// c, e, a, d, b
var a2:Array = ["a", "b", "c", "d", "e"];
function numSort(a:int, b:int):int
{
var index:int;
var s:String;
if (a > b)
{
index = a1.indexOf(a);
s = a2.splice(index, 1)[0];
a2.push(s);
return 1;
}
else if (a < b)
{
return -1;
}
return 0;
}
a1.sort(numSort);
trace(a2, a1);
Вроде так, не?
EDIT:
Ой не... так не получится... сейчас посмотрел, там пары в каком-то странном порядке передаются и массив сам во время сортировки не меняется... вобщем, сорри, тогда только совй сот писать
