迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 从数组中选取随机值

作者:迹忆客 最近更新:2023/03/10 浏览次数:

本教程将讨论如何使用 JavaScript 中的 Math.random() 函数从数组中选择一个随机值。

我们可以通过在 JavaScript 中使用其索引从给定数组中选择一个值。要从给定的数组中选择一个随机值,我们需要生成一个在 0 到数组长度范围内的随机索引。我们可以使用 Math.random() 函数生成一个随机值,并设置这个随机值的范围,我们必须将它乘以我们可以使用 length 函数得到的数组长度。

Math.random() 函数生成的随机值是一个浮点值。要将浮点值转换为整数,我们必须使用 Math.floor() 函数。Math.floor() 函数将浮点数转换为小于给定数字的整数。例如,让我们创建一个包含五个值的数组并从中随机选择一个值并将其显示在控制台上。请参考下面的代码。

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = Math.floor(Math.random()*myArray.length);
var rValue = myArray[rand];
console.log(rValue)

输出:

two

在上面的代码中,随机索引将存储在变量 rand 中,使用这个索引我们可以从数组中选择一个随机值,该值将存储在变量 rValue 中。你还可以使用按位 NOT 运算符 ~~ 或按位 OR 运算符 |而不是 Math.floor() 函数将浮点数转换为整数。使用按位运算符更快,但它可能不适用于包含数百万个值的数组。例如,让我们使用按位 NOT 运算符生成一个随机数。请参考下面的代码。

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = ~~(Math.random()*myArray.length);
var rValue = myArray[rand];
console.log(rValue)

输出:

one

现在,让我们使用按位 OR 运算符生成一个随机数。请参考下面的代码。

var myArray = ['one', 'two', 'three', 'four', 'five'];
var rand = Math.random()*myArray.length | 0;
var rValue = myArray[rand];
console.log(rValue)

输出:

three

如果再次运行代码,输出将发生变化。你还可以创建一个函数来从给定数组中选择随机值,这样你就不必重写所有代码。例如,让我们创建一个函数来从给定数组中选取随机值并使用数组对其进行测试。请参考下面的代码。

function RandArray(array){
    var rand = Math.random()*array.length | 0;
    var rValue = array[rand];
    return rValue;
}
var myArray = ['one', 'two', 'three', 'four', 'five', 'six'];
var rValue = RandArray(myArray);
console.log(rValue)

输出:

six

如果再次运行代码,输出将发生变化。现在,要从数组中选择一个随机值,你只需调用 RandArray() 函数。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便