Tengo un objeto UserScore. Tiene un campo llamado puntaje que es un número. Mantengo todos los puntajes de los usuarios en la variable userScores y el puntaje general para el promedio de los puntajes.
public userScores: any = []; public overallScore : number = 0;Intenté hasta ahora algo como esto:
sumRatingValues(): void{ let i = 0; this.userScores.forEach((score: any) => { this.overallScore += score.score; i++; console.log(this.overallScore); }); this.overallScore / i; }Entonces estoy usando este método en ngOnInit.
Pero no se imprime en el registro de Conole y el valor de OverallScore es 0.
EDITAR Cómo obtengo datos:
getRating(){ this.route.params .subscribe((params: Params) => { const id = params['id']; this.sharedService.getRecipesScoresForRecipe(id).subscribe(scores =>{ this.userScores = scores; console.log(this.userScores) }) }); } console.log imprime correctamente los objetos con sus campos y valor
Y mi ngOnInit:
ngOnInit(): void { ... this.getRating(); this.sumRatingValues(); }Pequeñas pruebas en el frente:
<div class="class" *ngFor="let user of userScores">{{user.score}} - {{overallScore}}</div>