我正在尝试将一个对象从一个数组(triviaDataArray)移动到另一个数组(answersQuestions)。我用数字替换了实际问题以缩短代码。当我运行这段代码时,似乎删除了triviaDataArray中的一个位置,并将一个位置添加到answersQuestion数组中。但它似乎没有删除正确的一个。当一个新问题被加载时,它有时会重复,这不是我想要的。我希望它提出一个问题,然后当它被回答时将其移动到answersQuestion数组。 我只能使用JavaScript。有人可以帮帮我吗。我一直在努力解决这个问题。
此部分来自数据读取器文件,我必须加载一个随机问题,它是来自数组的答案,第二部分是打开数组。
TriviaDataRecords.prototype.loadRandomRecord = function () {
this.position = Math.floor(Math.random() * this.records.length);
};
function openTriviaRecords(triviaData) {
return new TriviaDataRecords(triviaData);
}
全局数组和变量
var triviaDataArray = [1, 2, 3, 4, 5, 6, 7]
var answeredQuestions = []
var triviaRecords = openTriviaRecords(triviaDataArray);
加载问题并将文件存入html字段的函数。
function loadQuestion(){
var randomRecord = triviaRecords.loadRandomRecord();
var buttonA = document.getElementById("answer1");
var buttonB = document.getElementById("answer2");
var buttonC = document.getElementById("answer3");
var buttonD = document.getElementById("answer4");
var buttonE = document.getElementById("answer5");
document.getElementById('question').innerHTML = triviaRecords.getQuestion();
document.getElementById('answer1').innerHTML = triviaRecords.getAnswerA();
document.getElementById('answer2').innerHTML = triviaRecords.getAnswerB();
document.getElementById('answer3').innerHTML = triviaRecords.getAnswerC();
document.getElementById('answer4').innerHTML = triviaRecords.getAnswerD();
document.getElementById('answer5').innerHTML = triviaRecords.getAnswerE();
我试图将问题从一个数组移到另一个数组的部分。
var index = triviaDataArray.indexOf(randomRecord);
if (index == -1) {
triviaDataArray.splice(randomRecord, 1);
answeredQuestions.push(randomRecord);
}