Как последовательно выводить в prompt вопрос из массива с вопросами и варианты ответа с массива обьектов сс ответами?

Есть такое вот изображение. Мне нужно повторить это, используя массив и обьект. В моем представлении это массив с вопросами и массив обьектов с 4мя вариантами ответа в каждом. Я использую цикл forin для последовательного вывода вопросов в prompt и не понимаю как вместе с вопросом выводить синхронно варианты ответов из массива с обьектами.


Ответы (1 шт):

Автор решения: Alexandr_Yakovlev

В массиве с вопросами у меня есть объект, который представляет из себя данные вопроса. В нем есть заголовок, варианты ответов и индекс правильного ответа.

Через метод 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 ? "Это верный ответ!" : "Это неверный ответ!");
});
→ Ссылка