@Rektalizer

Как вернуть из массива инстансов классов значение объекта?

В сервисе моего модуля существует публичный метод getQuizRepresentation() типа интерфейса в котором находятся значения, передающиеся для отображения в компонентах. Некоторые значения находятся внутри массива классов, с помощью которого генерируются вопросы. Каким образом я могу передать в метод getQuizRepresentation() значение questionText первого вопроса в массиве?

public results =
    [
      new ResultClass("Very bad", 0),             //где строка это resultText а число это worth
      new ResultClass("Below average", 30),
      new ResultClass("Average", 50),
      new ResultClass("Very good", 70),
      new ResultClass("Perfect", 100)
    ];

  public questions =
    [
      new QuestionClass("50 + 50",                 //строка это questionText
        [                                                              //это массив answers[]
          new AnswerClass("0", 0),                        // тут строка это answerText, а число это worth
          new AnswerClass("40", 0),
          new AnswerClass("80", 0),
          new AnswerClass("100", 100)
        ]),
      new QuestionClass("Which animal says meow?",
        [
          new AnswerClass("cat", 100),
          new AnswerClass("dog", 0),
          new AnswerClass("duck", 0),
          new AnswerClass("human", 50)
        ]),
    ];

  private quiz = new QuizClass(this.questions, this.results)

  private countQuestions() {
    let totalQuestionsCount: number = this.questions.length;
    return totalQuestionsCount;
  }

  public getQuizRepresentation(): QuizRepresentationInterface {
    return {
      questionText: '',
      answerTexts: [],
      isFinished: false,
      currentQuestionIndex: 0,
      totalQuestionsCount: this.countQuestions(),
      score: 0,
      resultText: ''
    };
  }


То есть допустим мне нужно передать в questionText: '', не пустую строку, а значение questionText первого элемента в массиве questions, то есть '50+50'
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Если правильно понял, то:this.questions[0].questionText
Ответ написан
Комментировать
@Sleeper_king_of_bones
public getQuizRepresentation(questions: QuestionClass[]): QuizRepresentationInterface {
   const questionText = questions[0].questionText; // тут не забыть проверку на пустоту.
    return {
      questionText,
      answerTexts: [],
      isFinished: false,
      currentQuestionIndex: 0,
      totalQuestionsCount: this.countQuestions(),
      score: 0,
      resultText: ''
    };
  }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы