Итак, у меня есть два массива: массив слов и массив определений. Массив слов состоит из набора слов, которые сопоставляются соответствующим определением в массиве определения: i.e слово [0] = определение [0] и т. Д. Я хочу дать пользователю викторину, где выдается случайное слово из массива слов, и пользователь должен ввести определение в текстовое поле и чтобы ни одно слово не повторялось, и ни одно слово не было пропущено предоставляемый счетом в конце, когда пользователь вводит последнее определение. Я могу достичь некоторых из него, вот мой уродливый код:создать простую викторину из двух массивов javascript
var word = "<?php echo $word; ?>";//getting words from db to a js array
var def = "<?php echo $def; ?>";//same for definition
var finalword = word.split(",");//final word array
var finaldef = def.split(",");//final definition array
function randomize() {
document.getElementById("answer").value = "";
document.getElementById("success").innerHTML = "";
document.getElementById("fail").innerHTML = "";
var random = finalword[Math.floor(Math.random()*finalword.length)];//randomize the word from array
document.getElementById("question").innerHTML = random;
for(var i=0;i<=finalword.length;i++) { //find the index of the random word and match it with the index of definition
if(finalword[i]==random) {
console.log(i);
var randomdef = i;
answerdef = finaldef[randomdef];
console.log(answerdef);
}
}
}
function extract(a) {
//check if indices are equal
var answer = document.getElementById("answer").value;
console.log(answer);
if(answerdef == answer) {
var right = document.getElementById("success");
document.getElementById("fail").innerHTML = "";
right.innerHTML = "Whoopie, correct answer, let's move onto the next question.";
right.className = right.className + "animated infinite pulse";
}
else {
var wrong = document.getElementById("fail");
var input = document.getElementById("input");
input.className = input.className + "animated infinite shake";
wrong.innerHTML = "Oopsie, hold your horses. The answer is incorrect.";
wrong.className = wrong.className + "animated infinite pulse";
}
} //ignore the css and other calls.