Как последовательно выводить в prompt вопрос из массива с вопросами и варианты ответа с массива обьектов сс ответами?
Есть такое вот изображение. Мне нужно повторить это, используя массив и обьект. В моем представлении это массив с вопросами и массив обьектов с 4мя вариантами ответа в каждом. Я использую цикл forin для последовательного вывода вопросов в prompt и не понимаю как вместе с вопросом выводить синхронно варианты ответов из массива с обьектами.
Ответы (1 шт):
В массиве с вопросами у меня есть объект, который представляет из себя данные вопроса. В нем есть заголовок, варианты ответов и индекс правильного ответа.
Через метод map я перебираю массив откуда беру данные из вопросов: title, answers, indexTrueAnswer и беру ответ от пользователя: prompt(message).trim().toLowerCase() после смотрю подходит ли он к правильному варианту и вывожу alert
const questions = [
{
title: "Choose true answer",
answers: ["a) 1", "b) 2", "c) 3"],
indexTrueAnswer: 0,
},
{
title: "Choose true answer",
answers: ["a) 4", "b) 5", "c) 6"],
indexTrueAnswer: 1,
},
{
title: "Choose true answer",
answers: ["a) 7", "b) 8", "c) 9"],
indexTrueAnswer: 2,
},
{
title: "Choose true answer",
answers: ["a) 10", "b) 11", "c) 12", "d) 13"],
indexTrueAnswer: 3,
},
];
questions.map(({ answers, indexTrueAnswer, title, }) => {
const message = `${title}\n${answers.join("\n")}`;
const response = prompt(message).trim().toLowerCase();
const trueAnswer = answers[indexTrueAnswer];
const regexp = new RegExp(`^${response}`);
const isTrueResponse = regexp.test(trueAnswer);
alert(isTrueResponse ? "Это верный ответ!" : "Это неверный ответ!");
});
