我有一个包含9个项目的数组,我只想随机选择5个 我的阵列有一个测验问题,我希望这些问题有所不同
我已经尝试过,但是我的代码至少给出了5个问题,但刷新页面时有时会出现5 7或8。我认为我的代码最少要给出5个问题,最多要给出8个问题
export let questions = []
if (localStorage.questions){
questions = JSON.parse(localStorage.questions)
}
else {
const question1 = new Question (
"1",
"Qual é a capital de Portugal?",
["Porto","Lisboa","Braga","Guimarães"],
"Lisboa",
"10",
"",
"1"
)
const question2 = new Question(
"2",
"Que cidade é conhecida como cidade invicta?",
["Viseu","Évora","Santarém","Porto"],
"Porto",
"10",
"",
"1"
)
const question3 = new Question(
"3",
"Que cidade é conhecida como cidade berço de Portugal?",
["Braga","Leiria","Guimarães","Bragança"],
"Guimarães",
"10",
"",
"1"
)
const question31 = new Question(
"31",
"Qual é a capital do Minho?",
["Porto","Guimarães","Braga","Vila-Real"],
"Braga",
"10",
"",
"1"
)
const question32 = new Question(
"32",
"Quantos habitantes tem a cidade do Porto?",
["214349","200350","210323","215000"],
"214349",
"10",
"",
"1"
)
const question33 = new Question(
"33",
"Em que cidade nasceu o primeiro rei de Portugal?",
["Porto","Lisboa","Guimarães","Bragança"],
"Guimarães",
"10",
"",
"1"
)
const question34 = new Question(
"34",
"Os barcos do rabelo são uma caracteristica de que cidade?",
["Porto","Lisboa","Guimarães","Bragança"],
"Porto",
"10",
"",
"1"
)
const question35 = new Question(
"35",
"Qual destas cidades fica no Algarve?",
["Porto","Faro","Guimarães","Bragança"],
"Faro",
"10",
"",
"1"
)
const question36 = new Question(
"36",
"Qual destas cidades fica no centro de Portugal?",
["Porto","Faro","Aveiro","Bragança"],
"Aveiro",
"10",
"",
"1"
)
questions.push(question1,question2,question3,question31,question32,question33,question34,question35,question36)
localStorage.setItem("questions", JSON.stringify(questions))
}
export function choose() { // funcao para randomizar as perguntas no quiz
let num = Math.floor(Math.random() * questions.length - 6);
let name = questions.splice(num,4);
questions.push(name)
}
然后我以这种方式提出问题
renderQuestions();
function renderQuestions() {
choose();
let result1 = ""
for (const question of questions) {
if(question.level === "1") {
console.log("level1")
// gerar estrutura
result1 += `
<div>
<p id="question">${question.description}</p>
<input type="radio" id="raBtn" value="${question.options[0]}" name="${question.id}">${question.options[0]}<br>
<input type="radio" id="raBtn" value="${question.options[1]}" name="${question.id}" >${question.options[1]}<br>
<input type="radio" id="raBtn" value="${question.options[2]}" name="${question.id}">${question.options[2]}<br>
<input type="radio" id="raBtn" value="${question.options[3]}" name="${question.id}">${question.options[3]}<br>
<font size="1">Pontos : ${question.points}</font>
</div>
`
// name=question.id diferencia as questoes pelo id para que quando selecionarmos o radio button nao tirar a opçao nas outras questoes
myQuestions.innerHTML = result1;
}
}
}
答案 0 :(得分:0)
您的Ansi Esc[ sequence (CSI)
Foreground Background
No Color normal bright normal bright
0 black 30 90 40 100
1 red 31 91 41 101
2 green 32 92 42 102
3 yellow 33 93 43 103
4 blue 34 94 44 104
5 violet 35 95 45 105
6 turqoise 36 96 46 106
7 grey 37 97 47 107
函数有点混乱。检查一下,发表评论:
choose()