Как создать и заполнить массив (ключ + значение) с массивом внутри

Всем привет, я новичок в JS, кто нибудь помогите понять как задать массив и за тем заполнить его ключ/значение. Вот по такому примеру

 const questions = [
    {
        questionText: 'What is the capital of France?',
        answerOptions: [
            { answerText: 'New York', isCorrect: false },
            { answerText: 'London', isCorrect: false },
            { answerText: 'Paris', isCorrect: true },
            { answerText: 'Dublin', isCorrect: false },
        ],
    },
    {
        questionText: 'Who is CEO of Tesla?',
        answerOptions: [
            { answerText: 'Jeff Bezos', isCorrect: false },
            { answerText: 'Elon Musk', isCorrect: true },
            { answerText: 'Bill Gates', isCorrect: false },
            { answerText: 'Tony Stark', isCorrect: false },
        ],
    },
    {
        questionText: 'The iPhone was created by which company?',
        answerOptions: [
            { answerText: 'Apple', isCorrect: true },
            { answerText: 'Intel', isCorrect: false },
            { answerText: 'Amazon', isCorrect: false },
            { answerText: 'Microsoft', isCorrect: false },
        ],
    }
   ]

Я рылся в учебниках но никак не могу понять, как привести массив в такой json вид, что ли, помогите пожалуйста. Я хочу именно чтобы я мог это создать и заполнить, с произвольным количеством вопросов конечно, всем спасибо большое!


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

Автор решения: Алексей Шилло

Массив ты уже создал, а чтобы добавить к нему новое значение по образцу можно сделать следующее:

  1. Создать класс Question;
  2. Создавать объект класса Question и запушить его в массив questions.

См. код ниже:

let questions = [];

class Question {
    constructor(questionText, answerOptions){
        this.questionText = questionText
        this.answerOptions = answerOptions
    }
}

questions.push(
    new Question(
        "What's up, Doc?", 
        [
            {answerText: 'Good', isCorrect: false},
            {answerText: 'Fine', isCorrect: false},
            {answerText: 'Bad', isCorrect: true}
        ]
        )
)

console.log(questions)

Можно развить решение, если дашь более точные требования.

→ Ссылка