我得到了setRemark的方法来显示基于等级的消息传递或失败。
小学成绩= 75通过大学成绩=3通过
private getFinalGrade(studentId: number, gradingSections: IGradingSection[], transmutation: ITransmutation) {
let finalGrade: number = 0;
let grades: number[] = [];
let gradingSectionNumber = gradingSections.length;
for (let gradingSection of gradingSections) {
let weightedPercentageGrade = (new StudentGradeComputerService(studentId))
.setAssessment(gradingSection.assessments)
.setTransmutation(transmutation)
.generate()
.getTotalWeightedScore();
grades.push(weightedPercentageGrade);
finalGrade += weightedPercentageGrade;
}
return {grades, finalGrade: finalGrade / gradingSectionNumber};
}
private setRemark(grades: number, removalGrade: number) {
if(removalGrade) {
grades = removalGrade;
}
let passingGrade = (grades < 6) ? 3 : 75;
let condition = (passingGrade == 3) ? (grades <= 3) : (grades >= passingGrade);
console.log(condition)
return (condition && grades != 0) ? "Passed" : "Failed";
}更新了这里是我称之为setRemark的地方
private getStudentScheduleBySession(studentRecord): void {
let studentReportData: object[] = [];
let maxGradingSections: number = 1;
studentRecord.forEach((subject) => {
let newData = subject;
let grades = this.getFinalGrade(subject.student_id, subject.schedule.class_record.sections, subject.schedule.class_record.transmutation);
newData["finalGrade"] = grades.finalGrade;
newData["grades"] = grades.grades;
newData["remark"] = this.setRemark(newData["final_grade"], newData["removal_grade"]);
studentReportData.push(newData);
maxGradingSections = (grades.grades.length > maxGradingSections) ? grades.grades.length : maxGradingSections;
})
this.maxGradingSections = maxGradingSections;
this.studentReportData = studentReportData;
}问题是即使成绩是70,它仍然表现及格。我不知道我的逻辑有什么问题。

发布于 2022-08-10 03:44:43
根据getStudentScheduleBySession方法的代码片段,您将新级别的值存储到newData"finalGrade“中。但是在setRemark方法中,传递变量名的是newData"final_grade“。我想应该是newData"finalGrade“。
https://stackoverflow.com/questions/73300294
复制相似问题