提问人:WillWalsh 提问时间:7/24/2023 更新时间:7/24/2023 访问量:51
HTML/Javascript 测验应用程序>使问题随机化
HTML/Javascript quiz app > make questions random
问:
我对 HTML/CSS/JS 相当陌生......我见过随机化测验问题的函数,但是无法使任何解决方案与我已经拥有的代码一起使用。
我真的很感激有人向我展示一种随机化所显示问题的方法。并且还想简要说明它为什么有效。
这不是课堂作业/课程作业......我正在尝试为我参加的一系列课程创建一个测验。
提前感谢您:)
此代码有效,但不会随机化问题。问题存储在“questions.js”中,如下所示:
问题.js
{
numb: 7,
question: "The property tax is an ______ ______ tax, meaning it is based on value.",
answer: "B. ad valorem",
options: [
"A. carpe diem",
"B. ad valorem",
"C. vino veritas",
"D. non verba"
]
},
脚本.js
const questionText = document.querySelector('.question-text');
// questionText.textContent = `${questions[index].numb}. ${questions[index].question}`;
questionText.textContent = `${questions[index].question}`;
let optionTag = `<div class="option"><span>${questions[index].options[0]}</span></div>
<div class="option"><span>${questions[index].options[1]}</span></div>
<div class="option"><span>${questions[index].options[2]}</span></div>
<div class="option"><span>${questions[index].options[3]}</span></div>`;```
答:
1赞
Md Minhaz Ahamed
7/24/2023
#1
要获得随机问题,它是关于在零和 questions.js 数组的长度之间生成一个随机索引 请尝试以下代码
// To ensure uniqueness, store the generated integer in a Set
const uniqueNumbersSet = new Set();
function getRandomIndexFromArray(arr) {
const randomIndex = Math.floor(Math.random() * arr.length);
// If the generated integer is not unique, keep generating new ones until it is unique
while (uniqueNumbersSet.has(randomIndex)) {
const newRandomIndex = Math.floor(Math.random() * arr.length);
randomIndex = newRandomIndex;
}
// Store the unique integer in the Set
uniqueNumbersSet.add(randomIndex);
return randomIndex;
}
用法:
const randomIndex = getRandomIndexFromArray(YOUR-QUESTIONS-LIST)
现在使用 to 附加到脚本.js 而不是randomIndex
index
完成测验后,不要忘记清空。uniqueNumbersSet
评论
0赞
WillWalsh
7/24/2023
谢谢。我现在正在研究这个。非常感谢您抽出时间回复。
上一个:附加到 math.random 的打印语句无法正确打印
下一个:数学 ;数学随机
评论