从 JavaScript 数组中获取随机值
2010-12-29
1101403
考虑:
var myArray = ['January', 'February', 'March'];
如何使用 JavaScript 从该数组中选择一个随机值?
3个回答
这是一行简单的代码:
const randomElement = array[Math.floor(Math.random() * array.length)];
例如:
const months = ["January", "February", "March", "April", "May", "June", "July"];
const random = Math.floor(Math.random() * months.length);
console.log(random, months[random]);
Jacob Relkin
2010-12-29
如果您的项目中已经包含了
underscore
或
lodash
,则可以使用
_.sample
。
// will return one item randomly from the array
_.sample(['January', 'February', 'March']);
如果您需要随机获取多个项目,可以将其作为第二个参数传递给 underscore:
// will return two items randomly from the array using underscore
_.sample(['January', 'February', 'March'], 2);
或者使用 lodash 中的
_.sampleSize
方法:
// will return two items randomly from the array using lodash
_.sampleSize(['January', 'February', 'March'], 2);
Brendan Nee
2015-06-19
您可以考虑在数组原型上定义一个函数,以便创建一个返回随机元素的方法
[].sample()
。
首先,要定义原型函数,请将此代码段放入您的代码中:
Array.prototype.sample = function(){
return this[Math.floor(Math.random()*this.length)];
}
稍后,要从数组中抽取随机元素,只需调用
.sample()
:
[1,2,3,4].sample() //=> a random element
我根据 CC0 1.0 许可证 将这些代码段发布到公共领域。
Ben Aubin
2015-11-24