首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不计算正确的逻辑- Angular11

不计算正确的逻辑- Angular11
EN

Stack Overflow用户
提问于 2022-08-10 03:27:06
回答 1查看 35关注 0票数 1

我得到了setRemark的方法来显示基于等级的消息传递或失败。

小学成绩= 75通过大学成绩=3通过

代码语言:javascript
复制
   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的地方

代码语言:javascript
复制
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,它仍然表现及格。我不知道我的逻辑有什么问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-10 03:44:43

根据getStudentScheduleBySession方法的代码片段,您将新级别的值存储到newData"finalGrade“中。但是在setRemark方法中,传递变量名的是newData"final_grade“。我想应该是newData"finalGrade“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73300294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档