配列をシャッフルする際は、 Fisher–Yates shuffle というアルゴリズムがあって、それを利用するとかなり速いシャッフルが可能とのことで、毎回利用しているのですが、毎回必要になるたびに調べている一つだったりするので、メモエントリー。
JavaScript でシャッフルするコード
以下のページのスクリプトを参考にさせていただきました。
function shuffle(array) {
var n = array.length, t, i;
while (n) {
i = Math.floor(Math.random() * n--);
t = array[n];
array[n] = array[i];
array[i] = t;
}
return array;
}
var test_array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
shuffle(test_array);