如何在Javascript中从多维数组生成3个不同的值

如何在Javascript中从多维数组生成3个不同的值,javascript,Javascript,我正在尝试生成一个测验,当页面被重新加载时,它将从6个数组中显示三个随机问题 该测验有效,但以相同的顺序显示所有问题,我希望只有3个随机问题 我使用的代码如下: var pos=0,测试,测试状态,问题,选择,选择,chA,chB,chC,correct=0; 变量问题=[ [“问题1”、“1”、“2”、“3”、“C”], [“问题2”、“X”、“Y”、“Z”、“B”], [“问题3”、“4”、“5”、“6”、“C”], [“问题4”、“A”、“B”、“C”、“A”], [“问题5”、“7”、

我正在尝试生成一个测验,当页面被重新加载时,它将从6个数组中显示三个随机问题

该测验有效,但以相同的顺序显示所有问题,我希望只有3个随机问题

我使用的代码如下:

var pos=0,测试,测试状态,问题,选择,选择,chA,chB,chC,correct=0;
变量问题=[
[“问题1”、“1”、“2”、“3”、“C”],
[“问题2”、“X”、“Y”、“Z”、“B”],
[“问题3”、“4”、“5”、“6”、“C”],
[“问题4”、“A”、“B”、“C”、“A”],
[“问题5”、“7”、“8”、“9”、“B”],
[“问题6”、“M”、“N”、“O”、“A”]
];
函数get(x){
返回文档.getElementById(x);
}
函数renderQuestion(){
测试=获取(“测试”);
如果(位置>=问题长度){
test.innerHTML=“你得到了“+问题中的“+正确的+”。长度+“问题正确”;
获取(“测试状态”).innerHTML=“测试完成”;
pos=0;
正确=0;
返回false;
}
获取“+questions.length”的“+test_status”).innerHTML=“Question”+(pos+1)+”;
问题=问题[pos][0];
chA=问题[pos][1];
chB=问题[pos][2];
chC=问题[pos][3];
test.innerHTML=“+问题+”
”; test.innerHTML+=“+chA+”
”; test.innerHTML+=“”+chB+“
”; test.innerHTML+=“”+chC+“

”; test.innerHTML+=“提交答案”; } 函数checkAnswer(){ choices=document.getElementsByName('choices'); for(var i=0;iwindow.addEventListener(“加载”,renderQuestion,false)可能用于生成随机数。您可能希望在0和5之间生成一个,但仍然是。然后,如果您不想再问同一个问题,您需要记录您问了哪些问题。

您可以尝试以下方法:

var问题=[
[“问题1”、“1”、“2”、“3”、“C”],
[“问题2”、“X”、“Y”、“Z”、“B”],
[“问题3”、“4”、“5”、“6”、“C”],
[“问题4”、“A”、“B”、“C”、“A”],
[“问题5”、“7”、“8”、“9”、“B”],
[“问题6”、“M”、“N”、“O”、“A”]
];
var显示=获取随机值(问题3);
打印(显示);
函数getRandomValues(arr、计数){
//创建副本,以便不修改原始阵列
var_tmp=arr.slice();
var结果=[];
//基于计数的循环

对于(var i=0;这只是从数组中获取随机元素的逻辑。然后,您必须基于数组创建元素。