Creé una matriz de objetos, y selecciona aleatoriamente una pregunta de 1 de los objetos y la coloca en un cuadro de aviso.
Pero, solo genera 1 pregunta, y rompe el cuadro de aviso. No solicita todas las demás preguntas una tras otra.
let theQuestions = [ { question: "What is the capital of Georgia?", answer: "atlanta" }, { question: "What is the name of the Atlanta Baseball Team?", answer: "atlanta braves" }, { question: "How many rings have the Atlanta Falcons Won?", answer: 0 }, { question: "What is the name of the NBA team in Miami?", answer: "miami heat" } ];// theQuestions array const randomQuestions = ()=>{ const random = Math.floor(Math.random() *theQuestions.length); return theQuestions[random]; }// randomQuestions let question = randomQuestions().question; let answer = randomQuestions().answer; const askQuestions = prompt(question);Si desea hacer todas las preguntas seguidas, necesita algún tipo de bucle. Aquí hay un ejemplo con un bucle while.
Esta pieza en su código no funcionará de todos modos porque no obtendrá la respuesta correcta la mayoría de las veces:
let question = randomQuestions().question; let answer = randomQuestions().answer;Si no desea hacer las preguntas en orden aleatorio, necesita un indicador de qué pregunta ya se hizo. Una idea simple es simplemente eliminar la pregunta formulada de la matriz.
let theQuestions = [ { question: "What is the capital of Georgia?", answer: "atlanta" }, { question: "What is the name of the Atlanta Baseball Team?", answer: "atlanta braves" }, { question: "How many rings have the Atlanta Falcons Won?", answer: 0 }, { question: "What is the name of the NBA team in Miami?", answer: "miami heat" } ]; const randomQuestions = () => { const index = Math.floor(Math.random() * theQuestions.length); const question = theQuestions.splice(index, 1); return question[0]; } while(theQuestions.length) { const question = randomQuestions(); const askedQuestion = prompt(question.question); if (askedQuestion === null) { console.log("User clicked cancel"); } else { console.log(askedQuestion.toLowerCase() === question.answer); } }