首页 > 解决方案 > if 语句语法错误

问题描述

我正在做一些javascript练习,虽然我确实设法正确地完成了这个练习,但我很困惑。

所以这是一个练习,必须将标记列表的平均值与给定的值范围进行比较,以返回一个字符串,该字符串响应标记是否足够。我发现当使用 > 运算符进行比较时,它返回未定义。即使也给出了上限,并且仅此(没有下边界值 + > 运算符)确实会返回字符串。我真的不明白为什么会这样。

谢谢你的帮助

const marks = [ 80, 80, 50 ]

console.log (calculateGrade (marks));

function calculateGrade(marks) {
    let markstotal=0;

    for (let mark of marks)
        markstotal += mark;
        let average = markstotal / marks.length;

         if (average <= 59)
        return "F";
         if (average < 59)
         return "mehh";
         if (average > 70 && average < 90)
         return "oh yeah mate";
}

标签: javascriptfunction

解决方案


const marks = [80,80,50]
function calculateGrade(marks){
    var markstotal = 0
    marks.forEach(mark => markstotal+=mark);

    console.log(markstotal)
    let average = markstotal/marks.length
    if (average <= 59)
        return "F"
    else if (average > 59 && average <70)
        return "meh"
    else
        return "Fuckyeahhmate";
}
console.log(calculateGrade(marks))

我建议改用 .forEach 方法。如果你想遍历一个循环也是可能的

var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i++) {
    console.log(myStringArray[i]);
    //Do something
}

下次请贴代码!!


推荐阅读