Javascript 随机选择菜单选项
基本上,我从一个英文单词数组中选择了5个单词,从另一个数组中选择了1个法语单词,然后用户必须猜测法语单词在英语中的意思。 目前,我正在将正确的英文答案添加到选择菜单的末尾,因为我不知道如何将其随机添加到其他菜单之间,或者更不知道如何将选择菜单选项随机移动 我在下面添加了我的JSFIDLE,它是一个精确的副本。你会意识到底部选项总是正确的!用户将开始了解模式。我还必须在下面添加javascript才能发布JSFIDLEJavascript 随机选择菜单选项,javascript,html,arrays,select-menu,Javascript,Html,Arrays,Select Menu,基本上,我从一个英文单词数组中选择了5个单词,从另一个数组中选择了1个法语单词,然后用户必须猜测法语单词在英语中的意思。 目前,我正在将正确的英文答案添加到选择菜单的末尾,因为我不知道如何将其随机添加到其他菜单之间,或者更不知道如何将选择菜单选项随机移动 我在下面添加了我的JSFIDLE,它是一个精确的副本。你会意识到底部选项总是正确的!用户将开始了解模式。我还必须在下面添加javascript才能发布JSFIDLE 你应该使用Math.random方法,它应该是这样的: var correct
你应该使用Math.random方法,它应该是这样的:
var correctAnswerIndex = Math.floor(Math.random() * 7); //gives random number between 0-6
for (var i = 1; i <= 6; i++) {
if(i == correctAnswerIndex)
guess += '<option value="'+i+'">' + correctAns + '</option>';
else
guess += "<option value='" + i + "'>" + translate[RanNumbers[i]] + "</option>";
}
您只需调整else语句,因为RANnumber可能没有6项。所以,也许可以引入额外的计数器,它将被用来代替i。类似于translate[RanNumbers[counter++]只要做一个随机数,从两个数组中取出这个随机数,然后对其他数做4个随机数,检查它们是否不存在都准备好了?嗨,你介意在JSFIDLE上给我看一下吗?更新我当前的一个。我不太明白你的意思@隐秘的想法。。。我确实这样做了,但我确保如果'correctAnswerIndex'为==0,那么我将向其中添加1。在这种情况下,最好立即添加1,因为现在您增加了索引=1的概率:var correctAnswerIndex=Math.floorMath.random*6+1;
var correctAnswerIndex = Math.floor(Math.random() * 7); //gives random number between 0-6
for (var i = 1; i <= 6; i++) {
if(i == correctAnswerIndex)
guess += '<option value="'+i+'">' + correctAns + '</option>';
else
guess += "<option value='" + i + "'>" + translate[RanNumbers[i]] + "</option>";
}