Создать объект через конструктор, указав в аргументе свойство другого аргумента

Рейтинг: -1Ответов: 1Опубликовано: 30.01.2023

делаю викторину. У меня есть конструктор, который принимает вопрос, ответы и правильный ответ. Как мне из ответов достать именно правильный ответ, в моём случае 0: 'Нет'.

function Question(question, answers, correctAnswer) {
  this.question = question;
  this.answers = answers;
  this.correctAnswer = correctAnswer;
}

const questionOne = new Question(
  "Java и JavaScript это один и тот же язык?",
  { 0: 'Нет', 1: 'Да', 2: 'JavaScript это библиотека языка Java'},
  // Как здесь получить answers[0]
);

Ответы

▲ 0

Если ответы это объект, то в качестве "правильного" ответа надо передавать ключ объекта:

function Question(question, answers, correctAnswer) {
  this.question = question;
  this.answers = answers;
  this.correctAnswer = answers[correctAnswer]; // Правильный ответ
}

const questionOne = new Question(
  "Java и JavaScript это один и тот же язык?",
  { 0: 'Нет', 1: 'Да', 2: 'JavaScript это библиотека языка Java'},
  0 // Можно так же '0' указать
);

console.log(questionOne.correctAnswer)