html - *ngFor-loop som körs fler gånger än en gång


Jag försöker loopa igenom "buttontext" en gång och visa knappar (där antalet knappar är samma som antalet element i den), när användaren klickar på den knappen ska respektive text från "buttontext" visas. Men detta körs "antal element" + 1 gånger.

<div *ngIf="displaynextAnswer" class="row row-thumbs">
    <div class="container">
        <span class="nav nav-pills" *ngFor="let msg of buttontext; let i=index">
        <span class="feedback-op base-margin" style="background-color: #404546; 
           color:white;" (click)="innerfeedbackfunc(i)">
            Answer {{i}}</span>
        </span>
    </div>
</div>

buttontext hämtar sina data härifrån:

for (const item of Object.entries(result)){
            if(typeof item == 'object'){
                rec_ans = item[1]["Recommended Answer1"];
                for(let i =start; i<=3;i++)
                {
                    
                    if(item[1].hasOwnProperty("Recommended Answer"+i))
                    {
                        
                        let messagestobedisplayed = item[1]["Recommended Answer"+i];
                        if(typeof messagestobedisplayed == 'object')
                        {
            
                            for(var j in messagestobedisplayed){
                                this.messages.push({ 'text': messagestobedisplayed[j],  'botMessage': true,'displaynextAnswer':true,'image': this.botImage, 'date': this.formatAMPM(new Date()) });
                                this.buttontext.splice(j,0,messagestobedisplayed[j]);
                            }
                        }
                        else
                        {
                            this.messages.push({ 'text': messagestobedisplayed,  'botMessage': true,'displaynextAnswer':true,'image': this.botImage, 'date': this.formatAMPM(new Date()) });
                            
                        }
                        
                    }
                    
                    
                }
            }

        }

Jag använder *ngFor för att gå igenom buttontext-arrayen men det jag får är detta: