Я создаю хронологическую игру, которая случайным образом выбирает вопрос, сохраненный в объекте, из массива. В настоящее время у меня есть программа случайным образом выбирает вопрос из массива, но иногда он выбирает тот, который уже был выбран. Я хочу, чтобы моя переменная currentQuestion была только объектом из массива с questionChosen: false
Я пробовал цикл while, но не думаю, что отформатировал его правильно, из-за чего программа бесконечно зацикливается, поэтому не работает.
// This is how objects are stored in the questionsArr
var q1 = {
title: "Question 1",
a1: "answer 1.",
a2: "answer 2.",
a3: "answer 3.",
a4: "answer 4.",
questionChosen: false,
};
Это моя функция, которая генерирует новые вопросы и устанавливает, были ли они выбраны для истинных
function newQuestion() {
time = 30;
var currentQuestion = questionsArr[Math.floor(Math.random() * questionsArr.length)];
if (intervalId && intervalId >= 0) {
clearInterval(intervalId);
}
if (!clockRunning) {
clockRunning = true;
}
currentQuestion.questionChosen = true;
intervalId = setInterval(countdown, 1000);
console.log(intervalId);
console.log(clockRunning);
$("#question-box").text(currentQuestion.title);
$("#a1").text(currentQuestion.a1);
$("#a2").text(currentQuestion.a2);
$("#a3").text(currentQuestion.a3);
$("#a4").text(currentQuestion.a4);
}