0

I am trying to create array of my income data (short version) but I only get one array.

Code

MyArrayData: any = [];

constructor() {}

ngOnInit() {
    this.getQuizData();
}

getQuizData() {
  for (let i = 0; i < this.quiz.choices.length; i++) {
    this.MyArrayData = [{
      'choice_seq_no': this.quiz.choices[i].seq_no,
      'choice': this.quiz.choices[i].choice,
      'is_correct': this.quiz.choices[i].is_correct,
    }];
  }
  console.log('MyArrayData: ', this.MyArrayData);
}

This code only gives me 1 array while my income data is include 2 arrays.

one

How can I get all my data as arrays?

3 Answers 3

1

You need to use push() to add element to MyArrayData instead of using = to reset it every iteration

getQuizData() {
  for (let i = 0; i < this.quiz.choices.length; i++) {
    this.MyArrayData.push({
      'choice_seq_no': this.quiz.choices[i].seq_no,
      'choice': this.quiz.choices[i].choice,
      'is_correct': this.quiz.choices[i].is_correct,
    });
  }
  console.log('MyArrayData: ', this.MyArrayData);
}
Sign up to request clarification or add additional context in comments.

Comments

0

Try this inside loop:

this.MyArrayData.push({
      'choice_seq_no': this.quiz.choices[i].seq_no,
      'choice': this.quiz.choices[i].choice,
      'is_correct': this.quiz.choices[i].is_correct,
    });

Comments

0
MyArrayData: any = [];

constructor() {}

ngOnInit() {
    this.getQuizData();
}

getQuizData() {
  for (let i = 0; i < this.quiz.choices.length; i++) {
    this.MyArrayData.push({
      'choice_seq_no': this.quiz.choices[i].seq_no,
      'choice': this.quiz.choices[i].choice,
      'is_correct': this.quiz.choices[i].is_correct,
    });
  }
  console.log('MyArrayData: ', this.MyArrayData);
}

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.