JavaScript | 配列・多次元配列からランダムに値を取得する方法

2021-07-18JavaScript 配列,JavaScript

JavaScript | 配列・多次元配列からランダムに値を取得する方法

JavaScriptで配列または多次元配列からランダムに値を取得する方法の紹介です。

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

配列からランダムに値を取得する方法のサンプルコードになります。

配列にある値の数以内でランダムなキーを生成、配列キーとして指定します。

array[Math.floor(Math.random() * array.length)];

複数の値が格納されている配列からランダムな値を取得するには以下のようになります。

const fruits = ["apple","pine","banana","orange"];

let get = fruits[Math.floor(Math.random() * fruits.length)];

console.log(get);
//banana

多次元配列からランダムに配列・値を取得

多次元配列に内包されたいずれかの配列を取得する場合。

const foods = [
	["apple", "pine", "banana", "orange"],
	["carrot","broccoli","celery","lettuce"],
	["coffee","tea","wine","beer"]
];

let get = foods[Math.floor(Math.random() * foods.length)];

console.log(get);
//["carrot","broccoli","celery","lettuce"]

内包された配列からそれぞれ値をひとつ取得する場合。

const foods = [
	["apple", "pine", "banana", "orange"],
	["carrot","broccoli","celery","lettuce"],
	["coffee","tea","wine","beer"]
];

let get = [];
for (let i of foods) {
		get.push(i[Math.floor(Math.random() * foods.length)]);
}

console.log(get);
//["apple", "celery", "wine"]

多次元連想配列からランダムに配列を取得

多次元連想配列からランダムに配列を取得するサンプルコードです。
返り値として、いずれかの連想配列を取得します。

const foods = [
	{"name": "apple", "value": 300 },
	{"name": "pine", "value": 400},
	{"name": "banana", "value": 200}
];

get = foods[Math.floor(Math.random() * foods.length)];

console.log(get);
//{name: "pine", value: 400}