а! можно и не дублировать :)
хотя в принципе один хрен наверно, щас померяем что быстрее работает...

Код:
Array.prototype.shuffle = function() {
var dummy = [];
while (this.length) {
var rnd = random(this.length);
var item = this[rnd];
this.splice(rnd, 1);
dummy.push(item);
}
this.splice.apply(this, new Array(0, this.length).concat(dummy));
};
ASSetPropFlags(Array.prototype, "shuffle", 3, 8);
//
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
a.shuffle();
trace(a);