配列の値をシャッフル

配列の値をシャッフルするには、次のような方法で実装できます。

関数の定義

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);

JavaScript逆引きリファレンス一覧へ戻る