配列の要素をシャッフルするサンプルです。
サンプルソース
例)引数に受け取った配列をシャッフルするFunction
1 2 3 4 5 6 7 8 9 10 |
function arrShuffle(arr){ var len = arr.length; while(len > 0){ var rnd = Math.floor(Math.random() * len); var tmp = arr[len-1]; arr[len-1] = arr[rnd]; arr[rnd] = tmp; len-=1; } } |
1 2 3 4 5 6 7 8 |
//配列を生成 var arr = ["aaa", "bbb", "ccc", "ddd", "eee"]; //配列をシャッフルする arrShuffle(arr); //シャッフルした配列を表示する document.write(arr.join(",")); |
- (結果例)
- ccc,ddd,bbb,eee,aaa
解説
- ランダムで取得した要素と、順番に取得した要素を入れ替えてシャッフルしています。