如何将对象从一个数组移动到另一个数组?

时间:2016-12-02 18:51:39

标签: javascript arrays

我正在尝试将一个对象从一个数组(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);
}

0 个答案:

没有答案