Reputation: 7138
I am trying to create array of my income data (short version) but I only get one array.
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.
How can I get all my data as arrays?
Upvotes: 0
Views: 53
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
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
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