gpt4 book ai didi

javascript - 有没有一种简单的方法可以用 JavaScript 或任何其他编程语言从数组中进行随机选择?

转载 作者:行者123 更新时间:2023-12-03 03:29:50 26 4
gpt4 key购买 nike

我正在阅读一本初学者的 JavaScript 书,其中包含一些代码,这些代码将编码器的输入(var 答案)与从数组(答案)中随机选择的字符串进行比较。这是一个猜谜游戏。

我对随机选择字符串的方式感到困惑。该代码似乎将 Math.random 函数乘以答案数组及其长度属性。环顾四周,这似乎是从数组中随机选择的标准方法?为什么要使用数学运算符 * 来乘...出...基于数组长度的随机字符串?从技术上讲长度不是只有 3 个字符串吗?我只是觉得这应该是简单的事情索引=答案.随机。 JS 或其他语言中是否存在这种情况?

<script>

var guess = "red";
var answer = null;

var answers = [ "red",
"green",
"blue"];

var index = Math.floor(Math.random() * answers.length);

if (guess == answers[index]) {
answer = "Yes! I was thinking " + answers[index];
} else {
answer = "No. I was thinking " + answers[index];
}
alert(answer);

</script>

最佳答案

用 Python 很容易。

>>> import random
>>> random.choice(['red','green','blue'])
'green'

您正在查看的代码如此常见的原因是,通常,当您谈论统计中的随机变量时,它的范围为 [0,1)。如果您愿意,可以将其视为百分比。为了使该百分比适合选择随机元素,请将其乘以范围,使新值介于 [0,RANGE) 之间。 Math.floor() 确保数字是整数,因为小数在用作数组中的索引时没有意义。

您可以使用您的代码轻松地在 Javascript 中编写类似的函数,并且我确信有很多 JS 实用程序库都包含这样的函数。类似的东西

function choose(choices) {
var index = Math.floor(Math.random() * choices.length);
return choices[index];
}

然后您只需编写choose(answers)即可获得随机颜色。

关于javascript - 有没有一种简单的方法可以用 JavaScript 或任何其他编程语言从数组中进行随机选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com