mafortis
mafortis

Reputation: 7138

Angular get array data

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?

Upvotes: 0

Views: 53

Answers (3)

Prakash Harvani
Prakash Harvani

Reputation: 1041

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);
}

Upvotes: 0

Deepak
Deepak

Reputation: 2742

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,
    });

Upvotes: 0

flyingfox
flyingfox

Reputation: 13506

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);
}

Upvotes: 1

Related Questions