我想做一个Javascript测试,每次都将问题随机化

我想做一个Javascript测试,每次都将问题随机化,javascript,Javascript,我想做一个测验,每次都随机提问。我得到了一些随机的答案,但不是问题。这是我到目前为止得到的 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-

我想做一个测验,每次都随机提问。我得到了一些随机的答案,但不是问题。这是我到目前为止得到的

       <!DOCTYPE html>
       <html>
         <head>
           <meta charset="utf-8">
           <meta name="viewport" content="width=device-width, initial-                                                                             scale=1">
<title>Made with Thimble</title>
<link rel="stylesheet" href="style.css">

用顶针做的


if(!(“Array.prototype中的扰码”){ Object.defineProperty(Array.prototype,“扰码”{ 可枚举:false, 值:函数(){ var o,i,ln=该长度; 而(ln--){ i=Math.random()*(ln+1)| 0; o=此[ln]; 此[ln]=此[i]; 这个[i]=o; } 归还这个; } }); } 变量测验=[{ “问题”:[“知识产权的完整形式是什么?”,“嗨”], “选择”:[“互联网提供商”、“互联网端口”、“互联网协议”、“其他”], “正确”:“其他” }, { “问题”:“谁是微软的创始人?”, “选择”:[“比尔·盖茨”、“史蒂夫·乔布斯”、“史蒂夫·沃兹尼亚克”、“马丁·沙巴”], “正确”:“比尔·盖茨” }, { “问题”:“你的第一个梦想是什么?”, “选项”:[“8位”、“64位”、“1024位”], “正确”:“8位” }, { “问题”:“C编程语言是由谁开发的?”, “选择”:[“Brendan Eich”、“Dennis Ritchie”、“Guido van Rossum”], “正确”:“丹尼斯·里奇” }, { “问题”:“CC在电子邮件中是什么意思?”, “选择”:[“复写”、“知识共享”、“其他”], “正确”:“复印件” }]; quick.forEach(q=>q.choices.scramble()); 写作(测验[提示(“哪一个?”)))。选择);

您只能提示一次,然后存储在变量中以选择所有测验元素

quiz.forEach(q => q.choices.scramble());    
var x = prompt("Select question number #:");
var ans = ""
function myFunction(item, index) {
    ans += "\n[" + (index+1) + "]: " + item ; 
}
quiz[x].choices.forEach(myFunction);

var y = prompt(quiz[x].question+"\nYour anwser is:"+ans);

if (y == quiz[x].correct){
    alert("Correct!");
}else{
    alert("Wrong! \nThe right answer is "+quiz[x].correct);
}

你为什么要问三次?你已经有了你需要的功能。只需运行
quick.scramble()下次系统因为您没有足够的实际问题描述而阻止您发布问题时,您的队列将详细说明您尝试了什么以及您为什么被卡住。你能做的最糟糕的事情就是一遍又一遍地复制和粘贴你已经写过的内容。你忘记了行
quick.scramble()
。哦,还有你告诉读者问题是什么。以及您对答案所做的操作。
prompt
会阻止javascript执行,因此在请求答案之前不会询问问题:-(谢谢你,现在一切都好用了,昨天晚上我感觉很累,所以我只是复制并粘贴了Injut的问题想去睡觉嗨,我很高兴它现在对你有用..好吧,我想如果你能“接受”答案(检查表标记)那就太好了,这样其他观众就更容易找到这个解决方案。。
quiz.forEach(q => q.choices.scramble());    
var x = prompt("Select question number #:");
var ans = ""
function myFunction(item, index) {
    ans += "\n[" + (index+1) + "]: " + item ; 
}
quiz[x].choices.forEach(myFunction);

var y = prompt(quiz[x].question+"\nYour anwser is:"+ans);

if (y == quiz[x].correct){
    alert("Correct!");
}else{
    alert("Wrong! \nThe right answer is "+quiz[x].correct);
}