配列の値をシャッフル
配列の値をシャッフルするには、次のような方法で実装できます。
関数の定義
JavaScript
/**
* 配列の値をシャッフルする
* @param {any[]} シャッフルする元の配列
* @return {any[]} シャッフルされた配列を返す
*/
var arrayShuffle = function(arr) {
var newArr = [], oldArr = [];
for (var i = 0, len = arr.length; i < len; i++) oldArr.push(arr[i]);
while (oldArr.length) {
newArr.push(oldArr.splice(Math.floor(Math.random() * (oldArr.length - 1 + 1 - 0) + 0), 1)[0]);
}
return newArr;
};
使い方
var result = arrayShuffle( arr );
引数
引数名 | 型 | 説明 |
---|---|---|
arr 必須 |
Array | シャッフルする元の配列 |
戻り値
シャッフルされた配列を返します。
JavaScript
var data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
result = arrayShuffle(data);
alert(result);