javascript - 弹出一个数组的随机字符串

标签 javascript arrays random alert

我试图弹出一个警报框,其中包含一组句子中的一个随机句子。这是我的代码:

var tasks = [
  "This is the first task",
  "And this is the second task",
  "Third task..."
];

var randomTask = Math.floor((Math.random() * tasks.length) - 1);

alert(tasks[randomTask]);

如果你运行它,弹出窗口只会显示“未定义”。为什么不起作用?

感谢所有回答的人! :-)

最佳答案

Math.random 返回 0(含)和 1(不含)之间的随机数,将其乘以 3 并减去 1,这样就可以得到 -1 到 2 之间的数字(其中2 是唯一的 - 值将始终低于 2)。当你floor负值时,你会得到-1。这就是为什么有时会出现未定义的原因

基本上,删除 - 1 就可以了

关于javascript - 弹出一个数组的随机字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522036/

相关文章:

python - 内存中的高效 vector 位数据 "Rotation"/"Rearrangement"[例如在 Python 中,Numpy]

python - Python中随机数最终数字的分布

javascript - 使用 Javascript 生成不重复的随机图像

javascript - 使用.replace()在页面上突出显示一个单词

javascript - 为什么当我向主干模型获取添加数据选项时,它不会触发回调

c++ - 是否可以创建和使用 MatIterator 数组?

php - facebook用户ID的数据类型是什么

javascript - 混淆简单变量声明 jQuery "$variable"vs javascript "var"

javascript - Rails 5 Live Search with Keyup 丢失输入焦点 Turbolinks

C 数组段错误仅在特定阈值之后