Ну и еще вариант

Код AS3:
var arr:Array = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
function shuffle( a:Array ) : void
{
var rnd:Array = [];
var l:int = a.length;
var i:int = -1;
while (++i < l)
rnd[i] = Math.random();
var indicies:Array = rnd.sort(Array.NUMERIC | Array.RETURNINDEXEDARRAY);
i = -1;
while (++i < l)
{
var k:int = indicies[i];
rnd[i] = a[k];
}
a.length = 0;
a.push.apply(null, rnd);
}