配列からランダムに値を取得

配列からランダムに値を取得します。
ここでは関数を定義しての方法をご紹介します。

関数定義

JavaScript

/**
 * 配列からランダムに値を取得
 * @param {array} [arr] 選ぶ元の配列
 * @param {number} [count=1] 取得する個数
 * @return {any[]} ランダムに選ばれた値を取得する個数分返す
 */
var arrayRandom = function(arr, count) {
	if (!count) count = 1;

	var data = [], num;

	for (var i = 0; i < count; i++) {
		num = Math.floor(Math.random() * arr.length);

		if (typeof userData[num] === 'undefined') continue;

		data.push(arr.splice(num, 1)[0]);
	}

	return data;
};

使い方

引数

引数名 説明
第一引数
必須
arr Array 選ぶ元の配列
第二引数 count number 取得する個数
省略された場合または0以下を指定した場合は1個を取得

戻り値

ランダムに選ばれた値を第二引数で指定した分だけ値を返します。

サンプルコード

JavaScript

var arr    = [1, 100, 'test', 'abc', [1, 2]],
    result = arrayRandom(arr, 2);

console.log(result);

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