好的,所以我这里有三个变量,每个变量都是摇滚,纸或剪刀。使用JavaScript,我如何随机生成其中一个单词?
到目前为止它是这样的:
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="myFunction()"> Click me</button>
<script>
function myFunction()
{
var c="Rock";
var d="Paper";
var e="Scissors";
}
</script>
</body>
</html>
然后我会有一个名为K的变量,它将是岩纸或剪刀中的随机单词。所以它会是这样的:
alert("The computer chose: " + k);
那么如何让JavaScript在三个变量c
,d
和e
之间随机选择?
答案 0 :(得分:19)
使用:
var things = ['Rock', 'Paper', 'Scissor'];
var thing = things[Math.floor(Math.random()*things.length)];
alert('The computer chose:' + thing);
为了准确回答你的问题,假设你真的想保留你的三个全局变量,你可以这样做:
var c = "Rock";
var d = "Paper";
var e = "Scissors";
var thing = window['cde'.charAt(Math.floor(Math.random()*3))];
document.write('The computer chose: ' + thing);
(但不要。)
答案 1 :(得分:2)
您可以使用Math.random()
获取0到1之间的随机数。
如果你想要一个0到2之间的整个随机数。(所以:0,1或2)。您可以使用:
Math.floor(Math.random()*3);
请注意,Math.round
(而不是floor
)在此处错误,因为边缘值的可能性较低,实际上您可能会获得3
同样。
答案 2 :(得分:1)
你应该制作一个数组:
var words = ['Rock', 'Paper', 'Scissors'];
然后生成一个介于0和数组长度之间的随机数,带有0位小数:
var number = Math.floor(Math.random() * words.length);
然后选择密钥是您刚刚创建的随机数的单词:
var word = words[number];
总计:
var words = ['Rock', 'Paper', 'Scissors'];
var word = words[Math.floor(Math.random() * words.length - 1)];